श्रेणी: ग्रिड कम्प्यूटिंग

कार्यालय ग्रिड आभासी वातावरण का उपयोग कम्प्यूटिंग - भाग 4

, शुक्रवार 4 दिसम्बर 2009 11:59 बजे

परिचय

मैं एक कंपनी में जहाँ हम कई बैच प्रसंस्करण नौकरियों डेटा के अभिलेखों का लाखों प्रत्येक दिन चलाने के लिए और मैं सभी मशीनों है कि प्रत्येक के आसपास बैठते हैं और हर दिन कई घंटे के लिए कुछ नहीं कर रही के बारे में किया गया है हाल ही में सोच काम करते हैं. यह अच्छा नहीं होगा अगर हम उन मशीनों का उपयोग करने के लिए हमारे सिस्टम के प्रसंस्करण शक्ति सिलेंडर सकता है? लेख के इस सेट में मैं एक कार्यालय रोजगार के संभावित लाभ को देखने जा रहा हूँ ग्रिड virtualised वातावरण का उपयोग .

इन भाग 3 हम हमारे आभासी प्रसंस्करण मशीन बनाया और स्थापित खिड़कियां मशीनों के लिए निष्क्रिय समय श्रमिकों बनने .

नवीनतम कोड रनिंग

अनिवार्य रूप से अपने कार्यकर्ताओं व्यवसाय तर्क बनाने के बाद बदल जाएगा, कीड़े मिल जाएगा, तेजी से और अधिक कुशल कोड इस तरह छोड़ने के अपने कर्मचारियों का उपयोग कर डेटा के प्रसंस्करण के आसपास बैठे उत्पादन किया जाएगा पुराने बदबूदार कोड. तो हम कैसे सुनिश्चित करना है कि हम हमेशा हमारे प्रसंस्करण लिपियों के और सबसे नवीनतम संस्करण का उपयोग कर रहे हैं?

वहाँ कुछ बहुत आसान सरल तरीके से हम यह कर सकता है, चाल, तथापि, इस को प्राप्त करने में प्रसंस्करण शक्ति और नेटवर्क यातायात को कम करने के लिए है. सरल समाधान के साथ शुरू और इसे पुनरावृत्तियों के एक जोड़े पर धीरे धीरे सुधार चलो.

पहली विधि के लिए बस हमारे काम पर नियंत्रण सर्वर (साम्बा, FTP, या इसी तरह के माध्यम से) से कनेक्ट करने और नीचे कोड के नवीनतम संस्करण खींच होगा. कुशल नहीं, बहुत है, लेकिन यह काम करना होगा. चलो पर सुधार है कि कुछ हद तक, एक rsync स्क्रिप्ट बनाने और है कि प्रत्येक समय के बजाय का उपयोग करने के बारे में कैसे? वैकल्पिक रूप से तोड़फोड़ बाहर कोड की जाँच शुरू में हमारे नवीनतम प्रसंस्करण स्क्रिप्ट डालने और फिर बस प्रत्येक रन (पर हमारे कोड को अद्यतन करने svn अद्यतन के बारे में) क्या?

अंत में हम एक bash स्क्रिप्ट (हर 10 मिनट क्रॉन द्वारा कहा जाता है) जो के रूप में इस के रूप में सरल लग रहा है के साथ खत्म हो सकता है:

  # / Bin / श
 यदि पी एस कुल्हाड़ी | grep grep-v | grep php > / dev / बातिल
 फिर
     गूंज "नौकरी वर्तमान में, बाहर निकलें प्रसंस्करण है"
 अन्य
     गूंज "नौकरी नहीं चल रहा है, अब शुरू"
     सीडी पथ / / / / कॉपी काम
     svn अद्यतन
     php yourJobProcessingScript.php
 इंटरनेट 

अब हम सुनिश्चित करें कि प्रत्येक रन के साथ हम निश्चित रूप से नवीनतम कोड चला रहे हैं हो सकता है. हम हमारे कोड बेस प्रत्येक और हर बार हम एक रन प्रदर्शन अद्यतन और केवल हमारे नेटवर्क भर में फ़ाइल मतभेद के हस्तांतरण से नेटवर्क यातायात को कम करने के द्वारा यह सुनिश्चित करना है कर रहे हैं.

मेरे प्रदर्शन सेटअप में, मैं बिल्कुल के रूप में ऊपर था. तोड़फोड़ मेरी नौकरी प्रसंस्करण सर्वर पर स्थापित किया गया था और मैं बस एक 'कार्यकर्ता' शाखा 'svn अद्यतन' का उपयोग कर से नवीनतम कोड खींच लिया. मैं भी मेरे प्रसंस्करण स्क्रिप्ट जो परिणाम देते हैं के हिस्से के रूप में डेटाबेस के लिए लौट रहा था एक संस्करण संख्या टैग गयी. इस तरह मैं देख सकता था कि मेरे कोड हर बार जब मैं कार्यकर्ता शाखा यानी में मेरी ट्रंक की नकल की है कि मैं निश्चित रूप से नवीनतम प्रसंस्करण स्क्रिप्ट चल रहा था अद्यतन किया जा रहा था.

नवीनतम डेटा का उपयोग करना

यदि आपकी नौकरी प्रसंस्करण डेटा स्रोतों का उपयोग तो करता है कुछ बिंदु पर इन को भी अद्यतन किया जा जा रहे हैं. जब तक आप एक बहुत ही निराला है आप यातायात के साथ अपने नेटवर्क के रूप में जल्द ही बाढ़ के रूप में अपने कर्मचारियों को शुरू एक ठहराव के लिए सब कुछ लाने के लिए जा रहे हैं के आधार पर अपने डेटा स्रोतों फोन. मैं अपने समाधान के लिए फैसला किया है कि मैं मेरे डेटा स्रोत को अपने वी एम एस के साथ चारों ओर स्थानांतरित करना चाहते हैं.

पकड़ो तुम वहाँ घोड़ों रहे हैं क्या होगा यदि मेरे डेटा स्रोत विशाल कर रहे हैं !? खैर यह वास्तव में कितना डेटा हम बात कर रहे हैं का एक मामला है? यह और अधिक लागत प्रभावी प्रत्येक मशीन में एक अतिरिक्त बड़ा हार्ड ड्राइव को स्थापित करने की तुलना में एक अतिरिक्त संसाधन सर्वर खरीद करने के लिए हो सकता है. यह बजट का एक सवाल है और तय व्यापार पर निर्भर है. यह हो सकता है कि आपके डेटा स्रोत इतनी बड़ी हैं कि अपनी बस अपने कार्यकर्ता मशीनों में डेटा की है कि राशि रखने के लिए unfeasible है. उस मामले में आप क्या करना चाहते हैं? खैर, हम एक स्थानीय डेटा सर्वर बुला देखो सकता है, लेकिन इस नेटवर्क के साथ मुद्दों का कारण हो सकता है. इस मामले में इस तरह के रूप में एक ग्रिड प्रणाली अपने कार्यालय वातावरण में शामिल करने के लिए अवास्तविक हो सकता है. यह भी हो सकता है कि आप वैकल्पिक चल रणनीतियों में देखो, उदाहरण के लिए केवल 8:00 और 6:00 हर रात और / या थ्रॉटलिंग डेटा स्रोत अनुरोध के बीच अपने कर्मचारियों को बुला कर सकते हैं हो सकता है.

आगे बढ़ते देता है 100Gb डेटा के लिए हमारे डेटा स्रोतों राशि कहना. वैसे, हाँ है कि डेटा की काफी एक बिट के लिए एक अद्यतन के नेटवर्क पर कदम के आसपास है. हम यह कैसे सुनिश्चित है कि हम इस मामले में डेटा का नवीनतम नकल है? Rsync एक संभावना है, लेकिन व्यक्तिगत तौर पर मुझे लगता है कि अपनी नौकरी प्रसंस्करण सर्वर पर अपने नवीनतम डेटा स्रोत चल रहा है और इस प्रतिकृति (एक अच्छा समय बिन लॉग के साथ) में एक मास्टर के रूप में स्थापित कर जाने के लिए रास्ता हो सकता है:

प्रतिकृति अपने कार्यकर्ताओं में से प्रत्येक के एक दास के रूप में स्थापित करने के काम पर नियंत्रण सर्वर अद्यतन अपने डेटा स्रोतों से नीचे अच्छी तरह से अपने कार्यकर्ताओं को मिलने नेटवर्क गतिविधि में एक भारी वृद्धि के बिना (वह यह है कि जब तक आप एक बड़ा डेटा अद्यतन करते हैं और अपने सभी कार्यकर्ताओं में लात एक ही बार में). डेटाबेस अद्यतन के रूप में, यह rsync के प्रयोग से अधिक लाभ है कि आप हर काम से पहले एक लंबा ठहराव नहीं मिलेगा mysql अपने कार्यकर्ता पर डेमॉन लगातार अपने डेटा अद्यतन जबकि प्रसंस्करण जारी है.

यह कैसे मैं अपने प्रदर्शन सर्वर की स्थापना की. प्रतिकृति सेट मैं MySQL साइट पर गाइड ( बाद प्रतिकृति स्थापना ) और 20 मिनट के भीतर मैं मेरी inital नौकरी नियंत्रण सर्वर डाटासेट नकल कार्यकर्ता था. प्रत्येक अतिरिक्त कार्यकर्ता के लिए प्रतिकृति सेटिंग्स और प्रक्रिया हर बार काम किया जब वी एम नकल की थी.

सारांश

लेख के इस खंड में हम कितना आसान है और पीड़ारहित अपने प्रसंस्करण कोड रखने rsync using या subverion (SVN) द्वारा तिथि करने के लिए काम करते हैं और उसी time. में नेटवर्क यातायात को कम है पर ध्यान दिया है हम भी कैसे चर्चा की यह नीचे अपने कार्यकर्ताओं में से प्रत्येक के लिए मिलने के लिए अनुमति देकर अपने डेटा स्रोत से अप करने की तारीख जानकारी रखने के लिए. इस प्रकार हम क्षेत्र सुनिश्चित करना है कि हम व्यापार और हमारे कार्यालय ग्रिड प्रणाली में तर्क जानकारी के साथ रखने के. वहाँ स्पष्ट रूप से इन कार्यों का प्रदर्शन करने के लिए अनगिनत विकल्प हो जाएगा, लेकिन यहाँ दो सरल उदाहरण को दिखाने के लिए कैसे एक आसान समाधान के लिए आ रहा है.

अगली बार

इस श्रृंखला, aptly नाम के अंतिम भाग में भाग 5 , हम के लिए इस प्रणाली की तैनाती पर चर्चा करेंगे. मैं क्या सीखा गया है संक्षेप में प्रस्तुत करना है और मैं क्या बनाने में कामयाब हूँ.

कार्यालय ग्रिड आभासी वातावरण का उपयोग कम्प्यूटिंग - भाग 1

, शुक्रवार 4 दिसंबर, 2009 11:23 बजे

परिचय

मैं एक कंपनी में जहाँ हम कई बैच प्रसंस्करण नौकरियों डेटा के अभिलेखों का लाखों प्रत्येक दिन चलाने के लिए और मैं सभी मशीनों है कि प्रत्येक के आसपास बैठते हैं और हर दिन कई घंटे के लिए कुछ नहीं कर रही के बारे में किया गया है हाल ही में सोच काम करते हैं. यह अच्छा नहीं होगा अगर हम उन मशीनों का उपयोग करने के लिए हमारे सिस्टम के प्रसंस्करण शक्ति सिलेंडर सकता है? लेख के इस सेट में मैं एक कार्यालय रोजगार के संभावित लाभ को देखने जा रहा हूँ ग्रिड virtualised वातावरण का उपयोग .

मैं एक के रूप में PHP डेवलपर उपकरण है कि मैं हर दिन अर्थात् का उपयोग करते हैं, लिनक्स, उपयोग जा रहा हूँ MySQL , PHP, VirtualBox और तोड़फोड़ (SVN) . हालांकि मुझे उम्मीद है कि इस गाइड अन्य भाषाओं और प्रौद्योगिकियों के लिए बस के रूप में अच्छी तरह से अनुकूल होगा.

समाधान मैं प्रदान बहुत शिथिल हम लेकिन पूरे लेख के माध्यम से यह सच नहीं हो सकता है को प्राप्त करने की आवश्यकता के रूप में मैं सादगी के लिए चीजों को बदलने, या अधिक दिलचस्प उपयोग परिदृश्यों का उत्पादन चाहते हैं प्रसंस्करण के प्रकार पर आधारित होगा.

इन virtualised वातावरण खिड़कियों मशीनों पर चलाने के बाद से इस है कार्यालयों के बहुमत क्या चलाने के. प्रसंस्करण कि कार्यालय मशीनों उन मशीनों का उपयोग करते हुए कर्मचारियों के साथ हस्तक्षेप नहीं करना चाहिए, मशीन पर कोई रखरखाव की आवश्यकता होती है, और नई मशीनों के लिए आसानी से deployable होना चाहिए के रूप में वे उपलब्ध हो जाते हैं. इसके अलावा, नई वर्चुअल मशीनों के रूप में यह बहुत scalability और आसानी जिस पर ग्रिड प्रणाली बढ़ाया जा सकता है कम कर देता है किसी भी अतिरिक्त विन्यास की आवश्यकता नहीं चाहिए.

क्यों एक कार्यालय कम्प्यूटिंग ग्रिड तैनात?

पहले तुम सोच हो सकता है, जैसे बादल कंप्यूटिंग संसाधन का उपयोग नहीं क्यों अमेज़न EC2 मंच ? वैसे कई कारणों से हो सकता है उदाहरण के लिए,

  • आप कुछ डेटा क्लाउड कम्प्यूटिंग वातावरण को नहीं सौंपना होगा
  • आप कुछ डेटा (जैसे डेटा देश छोड़ने) कानूनी कानूनी कारणों से, जैसे एनएचएस रिकॉर्ड के लिए संभावित कारणों, के लिए एक क्लाउड कम्प्यूटिंग वातावरण में नहीं रख सकते हैं.
  • आप अपने प्रसंस्करण इकाइयों को बंद करने और हार्डवेयर पर पूरा नियंत्रण भी रखना चाहता हूँ
  • तुम परियोजना धन नहीं है बादल उदाहरणों को चलाने के
  • अपने कार्यालय इंटरनेट से एक कनेक्शन नहीं है और इसलिए अपनी एक बादल संसाधन का उपयोग करने के लिए संभव नहीं
  • तुम्हें पसंद नहीं है बारिश बादलों बारिश सुझाव है, इसलिए आप अच्छी तरह से दूर रखना

मुझे यकीन है कि सूची जारी सकता हूँ, लेकिन मुझे लगता है कि अब के लिए काफी है.

किसी Office कम्प्यूटिंग ग्रिड के लाभ

खैर, चलो कुछ गणित (और सच भौतिकी शैली में कुछ व्यापक मान्यताओं बनाने की सुविधा देता है). कल्पना कीजिए कि आप बड़ी मांसल प्रसंस्करण सर्वर प्रति दिन 100 नौकरियां चल रहा है. अपने कार्यालय में आप 50 मशीनों जो निष्क्रिय कर रहे हैं 16 घंटे एक दिन, प्रत्येक इन मशीनों के 10% के रूप में अपने मांसल प्रसंस्करण तोड़ के रूप में शक्तिशाली है. (सभी परिणाम यहाँ के प्रदर्शन को बढ़ाने के बहुत मूल्यवान समझना के लिए गोल कर रहे हैं).

तो, निष्क्रिय समय में 1 मशीन * 10% * 2 / 3 बार = 0.067 यानी एक डेस्कटॉप प्रसंस्करण शक्ति प्रति दिन 6 पूर्ण नौकरियों प्रक्रिया सकता है.

यदि आप अब इस पैमाने पर यह 15 निष्क्रिय डेस्कटॉप लेता है प्रति दिन के रूप में कई काम की प्रक्रिया के रूप में अपने मुख्य प्रसंस्करण सर्वर करता है.

तो हमारे 50 मशीनों के नाटक कार्यालय में हम 4 पूर्ण प्रसंस्करण सर्वर के लिए एक सर्वर से हमारे प्रसंस्करण शक्ति, बढ़ाया जा सकता है या हम प्रति दिन 400 नौकरियों प्रसंस्करण किया जा सकता है 100 के बजाय.

सूचना, नए हार्डवेयर में कोई निवेश के लिए आपकी कंपनी सिर्फ अपने बैच प्रसंस्करण क्षमता 4 बार बढ़ गया है ! संभावित आप अपने बिजली के उपयोग को बढ़ाने जा रहे हैं, लेकिन आम तौर पर मैं मशीनों के लिए किया गया है सबसे कार्यालय वातावरण से रातोंरात वैसे भी पर छोड़ दिया जाता है, तो आप एक हरे रंग की पहल के रूप में इस देख सकता था.

अन्य लाभ भी नए (या अद्यतन) में है कि निवेश प्रसंस्करण सर्वर देरी हो सकता है मतलब है कि अगर अपने कार्यालय मशीनों के लिए पर्याप्त हैं और अपने कार्यालय के रूप में आप अपने कार्यालय मशीनों की शक्ति में सुधार ग्रिड अधिक शक्तिशाली स्वचालित रूप से हो जाता है कि.

टेक्नोलॉजीज

तुम क्या जरूरत है? : (या अधिक सही ढंग से मैंने क्या उपयोग किया)

  • निष्क्रिय कार्यालय मशीनों (मेरे मामले में एक अतिरिक्त पुराने विंडोज़ XP लैपटॉप)
  • VirtualBox के (या एक और वर्चुअलाइजेशन क्लाइंट सॉफ्टवेयर)
  • PHP, MySQL running के साथ एक आभासी मशीन के ओएस नीचे एक कट चल रहा है, मैं इन मेरे लंगड़ा सर्वरों को बुला रहा हूँ:)
  • चलाने नौकरियां
  • नौकरी सर्वर (एक और आभासी मशीन कहीं जा सकता है)

ठेठ नौकरियां

नौकरियों के प्रकार है कि इस प्रणाली को चलाने के लिए डिज़ाइन किया गया है निम्नानुसार है:

  • सिस्टम जिस पर हम मैच और परिणाम की जरूरत है डेटा की एक सूची प्राप्त
  • मिलान की जाँच शामिल है / कई (काफी स्थिर) डेटा स्रोतों की खोज
  • परिणाम के डेटा स्रोतों से आगे सत्यापन की आवश्यकता होती है, विलय, परिणामों के जवाब में अतिरिक्त डेटा स्रोतों की जाँच कर सकते हैं
  • डाटा मिलान रिकॉर्ड के साथ वापस आ रहा है, पूरी तरह से मान्य है और संसाधित
  • एक नौकरी के भीतर प्रत्येक रिकॉर्ड आराम से स्वतंत्र है

तो बुनियादी तौर पर हम नौकरियों जो डेटाबेस lookups और कुछ संख्या crunching, एक कारोबारी माहौल में एक काफी ठेठ परिदृश्य का एक मिश्रण की आवश्यकता चल रहा है पर देख रहे हैं.

ग्रिड समाधान केवल इस प्रकार की नौकरियों के प्रसंस्करण के लिए फायदेमंद नहीं हैं. असल में, किसी भी प्रक्रिया है जो स्वतंत्र इकाइयों में विभाजित किया जा सकता के समानांतर में चलाया जा सकता है. उदाहरण और अधिक जानकारी के लिए देखिए यह विकिपीडिया : ग्रिड कम्प्यूटिंग, लेकिन प्रसिद्ध उदाहरण के एक जोड़े हैं SETI @ होम और BIONC . कंप्यूटिंग ग्रिड चलाने के लिए व्यवस्थाएं हैं, और इन अच्छी तरह से में देख के लायक हैं.

हम क्या हासिल होगा?

इन लेखों के अंत तक मुझे पता चलता है कि एक कार्यालय ग्रिड तैनाती बेहद महंगा या समय लेने की जरूरत नहीं है उम्मीद है. मैं चर्चा करने जा रहा हूँ:

  • नौकरी नियंत्रण प्रणाली की स्थापना, नौकरी विन्यास
  • एक उपयुक्त प्रसंस्करण आभासी मशीन बनाना
  • कैसे एक विंडोज़ मशीन पर सिस्टम सेटअप करने के लिए
  • सुनिश्चित करना आप नवीनतम कोड और डेटा का उपयोग कर रहे हैं
  • तैनाती और बेंच मार्किंग
  • आगे देख रहे हैं

मैं इमारत (ठीक है मैं बनाया है, तो यह लिखा था) एक उदाहरण के आवेदन के लिए एक स्थानीय मशीन पर Windows XP और मेरा 'GridMachine' वर्चुअल मशीन का उपयोग अवधारणाओं परीक्षण हूँ. मेरा काम - नियंत्रण सर्वर मेरे मुख्य मशीन है जो रन Fedora 11 .

यह कोई रास्ता नहीं है एक मजबूत प्रणाली पूरी तरह से काम का प्रदर्शन करने का मतलब में है, इसकी एक प्रदर्शन के और अधिक दिखा रहा है कि इन बातों को समय का एक यथोचित कम अंतरिक्ष में और कम कीमत पर हासिल किया जा सकता है है पर चर्चा का मतलब है. कृपया मुझे कोई टिप्पणी, सुधार, सुधार या भेजने के लिए स्वतंत्र महसूस हो रहा है और मैं अपना सर्वश्रेष्ठ करने के लिए इस लेख के लिए मैच के लिए अद्यतन रख देती हूँ.

अगली बार

भाग 2 मैं नौकरी नियंत्रण प्रणाली को देख द्वारा शुरू होगा और कैसे नौकरियों सुनिश्चित करना है कि प्रत्येक नौकरी के बिना असफल हो संसाधित है whilst प्रसंस्करण की सबसे बड़ी राशि प्राप्त करने के क्रम में कॉन्फ़िगर किया जाना चाहिए में देखो.

कार्यालय ग्रिड आभासी वातावरण का उपयोग कम्प्यूटिंग - भाग 2

, शुक्रवार 4 दिसंबर, 2009 11:23 बजे

परिचय

मैं एक कंपनी में जहाँ हम कई बैच प्रसंस्करण नौकरियों डेटा के अभिलेखों का लाखों प्रत्येक दिन चलाने के लिए और मैं सभी मशीनों है कि प्रत्येक के आसपास बैठते हैं और हर दिन कई घंटे के लिए कुछ नहीं कर रही के बारे में किया गया है हाल ही में सोच काम करते हैं. यह अच्छा नहीं होगा अगर हम उन मशीनों का उपयोग करने के लिए हमारे सिस्टम के प्रसंस्करण शक्ति सिलेंडर सकता है? लेख के इस सेट में मैं एक कार्यालय रोजगार के संभावित लाभ को देखने जा रहा हूँ ग्रिड virtualised वातावरण का उपयोग .

में भाग 1 मैं प्रणाली और प्रौद्योगिकियों मैं के रूप में उपयोग किया जाएगा अच्छी तरह के रूप में संभावित कारणों तुम क्यों एक कार्यालय ग्रिड बनाने के लिए चाहते हो जाएगा के कुछ चर्चा के एक सिंहावलोकन दिया.

काम पर नियंत्रण

यदि आप जा रहे हैं नौकरियों चल रहा हो तो आप कुछ तरह उन्हें प्रबंधित की आवश्यकता के लिए जा रहे हैं. आपका काम नियंत्रण प्रणाली (अपनी नौकरी सर्वर पर) के लिए भी एक कार्यालय ग्रिड को चलाने का प्रयास करने से पहले वास्तव में अच्छी तरह से बाहर सोचा की जरूरत है. सबसे पहले तो, एक नौकरी नियंत्रण प्रणाली के लिए कार्य क्या कर रहे हैं:

  • कामगारों से अनुरोध पर हाथ बाहर नौकरियों
  • श्रमिकों नौकरियों के लिए किस प्रकार चलाने के लिए को बताएँ
  • ट्रैक नौकरियों
  • सुनिश्चित करें कि नौकरियों केवल एक बार चला रहे हैं
  • श्रमिकों को नौकरी डेटा प्रदान करें, या कम से कम उन्हें बताओ यह कहाँ पाने के लिए

इस प्रणाली को भी एक्स्टेंसिबल, एक समाधान है कि एक भी मामले में अब के लिए काम करता है के लिए नौकरियों के कई प्रकार के भाग के रूप में व्यापार में एक ग्रिड समाधान के लायक देखता बढ़ाया जा सकता है है की जरूरत है. उदाहरण के लिए, नौकरियों प्राथमिकताओं लाभ, एक नौकरी से अधिक प्रकार मौजूद हो सकता है हो सकता है (यानी कई कोड अड्डों), अंततः आप भी कई अलग अलग कार्यकर्ता मशीनों है कि नौकरी के प्रत्येक प्रकार के लिए अनुकूलित कर रहे हैं रन आउट (हो सकता है कि हालांकि 'सामान्य कार्यकर्ता से दूर कदम नहीं 'विचार). हमेशा के भविष्य के बारे में लगता है कि जब प्रणाली विकसित करने की कोशिश, एक अल्पकालिक दृष्टि लंबी अवधि हताशा और वृद्धि विकास के समय के लिए नेतृत्व कर सकते हैं.

नौकरी सर्वर

हम कहीं जरूरत करने के लिए हमारी नौकरियों नियंत्रण से जा रहे हैं, यह अपने ग्रिड में केवल प्रणाली है कि एक निश्चित रिसोर्स लोकेटर है हो सकता है, होना चाहिए कि एक आईपी पता, होस्ट नाम, यूआरएल (आंतरिक DNS का उपयोग), आदि इसका कारण यह है श्रमिकों जहां नौकरियों के लिए देखो पता की जरूरत है, कामगारों को नौकरी नियंत्रण प्रणाली (नौकरी नियंत्रण प्रणाली नहीं कार्यकर्ताओं को खोजने के) खोजने की जरूरत है.

नौकरी सर्वर ही वास्तव में एक जटिल कार्य नहीं है (एक बुनियादी तंत्र में किसी भी तरह), यह नौकरियों की एक सूची की दुकान, हाथ नौकरियों बाहर, परिणाम प्राप्त करने के लिए, और बाद में उन्हें बाद में पुनः प्राप्ति के लिए दुकान की जरूरत है. कैसे इन भागों (जैसे 'नौकरियों बाहर हाथ') को परिभाषित कर रहे हैं बहुत ही बुनियादी हो सकता है. बाद में हम प्रणाली का विस्तार करने के लिए एक प्रशासन इंटरफ़ेस जोड़ने, संपादित करने, हटाने, रोजगार निलंबित लेकिन इस व्यायाम से परे है शामिल कर सकते हैं.

वहाँ कोई कारण जो भी तो है कि अपनी नौकरी सर्वर एक आभासी मशीन अपने मुख्य प्रसंस्करण सर्वर के भीतर चल रहे नहीं किया जा सकता है बशर्ते वह भी कई संसाधनों से पलायन नहीं करता है. नौकरी सर्वर लेकिन उच्च उपलब्धता की जरूरत नहीं है, अगर यह एक शुक्रवार की शाम आप प्रसंस्करण के एक पूरे सप्ताहांत खोने जा रहे हैं पर नीचे चला जाता है, संभवतः आप सप्ताह के प्रसंस्करण समय के लायक एक जोड़े (जब अपने मुख्य प्रसंस्करण अकेले सर्वर की तुलना में) लागत . आप एक लोड संतुलित वातावरण पर उच्च उपलब्धता के लिए अपनी नौकरी सर्वर डालने पर विचार करना चाहते हो सकता है.

मूल सेटअप

हमारा काम के सर्वर के लिए बुनियादी सेटअप क्या मैं बुला रहा हूँ मेरी लंगड़ा सर्वर के (कि ली nux, मीटर ySql, पी हिमाचल प्रदेश) से मिलकर करेंगे . Thea कार्यकर्ताओं पर चल रहे कोड वास्तव में बाहर काम नियंत्रण प्रणाली डेटाबेस के साथ के साथ बातचीत के द्वारा काम करेंगे क्या यह नौकरियों चला सकते हैं. बाद में हम कार्यकर्ता कड़ी मेहनत खुद करते हैं बजाय एक वेब सेवा और रोजगार के बाहर वास्तव में हाथ बनाने के लिए, लेकिन हो सकता है अभी के लिए हम चूमने के सिद्धांत (यह सरल, बेवकूफ रखें !) का उपयोग जारी रखेंगे.

तो देता है, तीन बनाने mySQL तालिकाओं के लिए नौकरियों के साथ सौदा. ये `नौकरियों,` jobRecords `, और` jobResults जाएगा.

नौकरियों तालिका यहाँ मैं का उपयोग कर रहा हूँ SQL दोस्त एक महान थोड़ा वैकल्पिक phpMyAdmin सिर्फ इसलिए अपने CentOS पर स्थापित करने के लिए आसान (के लिए दूसरों को देखें: 10 phpMyAdmin करने के लिए महान विकल्प )

इस तालिका 5 सरल क्षेत्रों के होते हैं,

  • आईडी: विशिष्ट नौकरी की पहचान
  • नाम: एक ग्राहक संदर्भ, या अन्य identifiers के किसी भी संख्या हो सकता है
  • स्थिति: तुम्हें पता है, जहां काम उदाहरण के लिए, की जरूरत है
    • 0: प्रारंभ नहीं किया गया
    • 1: उठाया
    • 2: पूर्ण
  • started_by: कौन काम कर रही शुरू कर दिया है? यह पूरी तरह नहीं बल्कि आवश्यक है एक अच्छा है. मैं उनके अपने नेटवर्क पर आईपी पते के द्वारा ट्रैकिंग श्रमिकों सुझाव चाहते हैं
  • started_at: कर्मचारी काम कब शुरू किया? नौकरियों है कि समय की एक्स राशि है जो हम जानते हैं कि हम करने के लिए एक बार फिर से काम लेने और एक अन्य कार्यकर्ता द्वारा प्रसंस्करण शुरू करने की आवश्यकता के भीतर पूरा नहीं किया है पर नज़र रखने. श्रमिक रोक प्रसंस्करण / के किसी भी संख्या कारणों से, बिजली विफलता, दुर्घटना, नेटवर्क हानि, आदि के लिए ऑफ़लाइन जा सकते हैं

यह आसान है कि कैसे इस तालिका में कुछ अतिरिक्त फ़ील्ड के साथ बढ़ाया जा सकता है और आँकड़ों पर नज़र रखने, एक खत्म समय स्तंभ देखने के लिए कितनी देर तक काम लिया, एक काउंटर को देखने के लिए कितने कार्यकर्ताओं नौकरी उठाया (जाहिर है इस की जरूरत के लिए करते हैं के लिए अनुमति 1) नौकरी प्राथमिकता, सूची में और पर जा सकते हैं. अधिक जटिल काम परिदृश्य में यह संभव हो सकता करने के लिए निर्दिष्ट कितना स्मृति कार्यकर्ता (और इसलिए केवल उपयुक्त श्रमिकों का उपयोग करें), या यहाँ तक कि कार्यकर्ता की किस प्रकार की आवश्यकता होगी उपयोग की आवश्यकता होगी.

चलो कुछ उदाहरण नौकरियों जोड़ने है:

उदाहरण नौकरियों

अगले तालिका फिर से समझने के लिए काफी सरल है, ये हमारा काम रिकॉर्ड कर रहे हैं. वे एक `स्तंभ jobs_id` द्वारा मुख्य नौकरियों तालिका से जुड़े हुए हैं. इस तालिका के मेकअप बहुत डेटा पर निर्भर करता है कि आप अपने कर्मचारियों के लिए आपूर्ति की जरूरत है देता है, एक बहुत ही सरल उदाहरण है, जहाँ हम चार स्तंभों:

  • आईडी: रिकॉर्ड के आईडी
  • नाम: व्यक्ति का नाम
  • पता: व्यक्ति के पते
  • नौकरी आईडी है कि इस रिकॉर्ड के लिए जुड़ा हुआ है : jobs_id

तीसरे और अंतिम तालिका एक परिणाम तालिका के होते हैं, यह बहुत ही हमारे रिकॉर्ड की तालिका के रूप में बनाने, और कुछ स्तंभों के अलावा के साथ रिकॉर्ड तालिका का हिस्सा हो सकता है:

  • job_record_id: नौकरी तालिका में परिणाम लिंक
  • परिणाम: परिणाम डेटा

... और कहा कि तुम सब काम पर नियंत्रण के लिए की जरूरत है! (हालांकि एक बहुत ही बुनियादी स्तर पर) मेरे मामले में मैं किसी अन्य तालिका जहां प्रक्रिया के लिए अपने डेटा स्थित था ओर इशारा कर रहा हूँ, लेकिन यह बस के रूप में आसानी से एक फाइल हो सकता था, पैरामीटर अनुकार कोड को चलाने के लिए, तुम यह नाम है.

एक नौकरी का चयन

जैसा कि पहले कहा, श्रमिकों के लिए हमें अब हमारा काम प्रबंधन के लिए क्या करेंगे, तो हम सब सच में करने की ज़रूरत है कि संसाधन की जरूरत है एक नौकरी खोजने के लिए और जानकारी मिल. हम यह कैसे करना चाहते हैं? खैर हमारा काम चयन मानदंड लेने और नौकरियों के लिए देखो, एसक्यूएल में मैं निम्नलिखित किया:

  1. ले लो किसी भी नौकरियों है कि पूरा के रूप में, लेकिन हमारे कार्यकर्ता से चिह्नित नहीं कर रहे हैं और उन्हें रीसेट (एक पहचानकर्ता के साथ __ME__ विकल्प, आसान IP पता होगा):
      अद्यतन `नौकरियों` सेट `स्थिति` = 0 कहां `स्थिति` = 1 और `started_by` = __ME__; 
  2. हमारी नौकरी के चयन के मापदंड का उपयोग, एक नौकरी का चयन करें और नियंत्रण प्रणाली बताओ कि इस कार्यकर्ता के साथ काम कर रहा है:
      अद्यतन `नौकरियों` `स्थिति` = 1, `started_by` = __ME__, `started_at` अब = () कहां `स्थिति` = 0 या सेट
     (`स्थिति` = 1 और `started_at`> DATE_SUB (अब), अंतराल एक्स HOUR ()) द्वारा `id` ए एस सी आदेश; 

    नौकरियों है कि परिणाम समय की एक्स राशि हम सुनिश्चित करें कि सभी नौकरियों को एक दुर्घटनाग्रस्त या AWOL जा कार्यकर्ता की घटना में चलाए जा रहे हैं में नहीं लौटे हैं हथियाने.

  3. अगले नौकरियों खुद रिकॉर्ड द्वारा पीछा विवरण हड़पने:
      SELECT * `से नौकरियों` जहां `started_by` = __ME__ एक सीमा;
     * `से job_records` का चयन करें जहाँ `आईडी` = __JOBID__; 

नौकरी हम अपने परिणाम रिकॉर्ड डालने और पूरा के रूप में नौकरी का निशान के पूरा होने पर. याद रखें के रूप में नौकरी निलंबित / किसी भी समय कर सकते हैं फिर से शुरू अपनी स्क्रिप्ट में कुछ मजबूती के लिए अनुमति देते हैं. यह हो सकता है कि कार्य नौकरी नियंत्रण प्रणाली अद्यतन के माध्यम से आधे रास्ते निलंबित, तो नौकरी में रिकॉर्ड की संख्या की जाँच और नौकरी नियंत्रण प्रणाली के लिए वापस बचाया परिणामों की संख्या एक बुद्धिमान कदम होगा.

इसके अलावा, whilst यह दर्शाता है कैसे नौकरियों और चयनित किया जा सकता है एक एसक्यूएल क्वेरी फ्रेम तुम सच में जाना चाहिए से प्रबंधित abstracting अपनी नौकरी नियंत्रण इतना है कि यदि आप एक वेब सेवा, एक फ़ाइल आधारित प्रणाली का उपयोग करने के लिए स्विच करने का फैसला XML, या किसी अन्य सिस्टम की संख्या यह ऊपर कोड को प्रभावित नहीं करेगा.

नौकरी विन्यास

अगले पहलू पर विचार करने के काम आकार और विन्यास है. नौकरी विन्यास के साथ खेलने से हम गति, प्रक्रिया, प्रतिकृति, और विश्वसनीयता के बीच एक उत्कृष्ट संतुलन कर सकते हैं. लो एक जोड़े OFA परिदृश्यों:

  1. नौकरियां 1 दिन ले प्रत्येक चलाने के लिए इसका मतलब यह है कि अपने कर्मचारियों को 15 दिनों की जरूरत है हर काम प्रक्रिया (समय के 2/3rds के लिए शक्ति का 10 % याद). यह स्पष्ट रूप से एक बुद्धिमान विन्यास नहीं है, अपनी नौकरी का आकार रास्ता भी बड़ा है! यह कम से कम दोगुना समय लेने के लिए एक संसाधित नौकरी पाने के प्रारंभिक कार्यकर्ता AWOL (समय लेने के लिए कि यह एक परिणाम प्लस पुनर्संसाधन समय नहीं वापस आ गया है) जाना चाहिए. एक आदर्श आप कम से कम एक पूरा काम आसानी से प्रत्येक लंबे समय से निष्क्रिय अवधि के अंत तक मंजूरी दे दी है, तरीका है कि आप अधिक और सबसे खराब स्थिति में एक नौकरी बजाते नौकरियों रखना चाहते हैं और प्रक्रिया के लिए दो दिन ले जाएगा पहली याद आ जाना चाहिए.
  2. नौकरियां 1 मिनट लेने के लिए चलाएँ: इसका मतलब यह है कि अपने कर्मचारियों के बारे में 15 मिनट लेने के लिए हर काम चलाने है . Whilst यह शुरू में आदर्श लग सकता है, आप दोपहर के भोजन के समय के दौरान अतिरिक्त काम प्रसंस्करण हासिल करने के लिए, कॉफी ब्रेक, बैठकों, आदि इस परिदृश्य में अपने सिस्टम के अन्य क्षेत्रों पर दबाव डालता है और अपनी ही समस्याओं का परिचय. उदाहरण के लिए, सबसे पहले अपने समय सेटअप / प्रसंस्करण अनुपात ठीक नीचे जाना है, इसलिए प्रणाली दक्षता को खोने जा रहा है. अपने नेटवर्क के लिए लगातार विभिन्न कार्यकर्ताओं को निराशा कर्मचारियों के साथ जो दांग उनके दिन काम करने के दिन हैं के लिए काम की जानकारी स्ट्रीमिंग होने जा रहा है. तुम भी अपनी नौकरी प्रसंस्करण सर्वर पर अधिक दबाव डाल के रूप में यह बहुत सारे और एक नियमित आधार पर काम के छोटे टुकड़ों के बहुत सारे के लिए बाहर पकवान के लिए जा रहे हैं. अन्त में, इस स्थिति में अगर अपनी नौकरी सर्वर नीचे चला जाता है तुम जबकि बड़ी नौकरियों के अपूर्ण काम का एक बड़ा वापस लॉग बनाने जा रहे हैं blissfully अनजान प्रसंस्करण कि नौकरी सर्वर कठिनाइयों का सामना कर रहा था जारी रखा सकता है.

वास्तविकता में वहाँ अपने ग्रिड की स्थापना के लिए नहीं एक आदर्श विन्यास हो जाएगा, बहुत उपलब्ध संसाधनों, नौकरी, नौकरी प्रतिवर्तन समय आवश्यकताओं, नेटवर्क की क्षमता, और इतने पर के प्रकार पर निर्भर करता है. हालांकि कुछ दिशानिर्देश होगा:

  • साइज नौकरियों इतना है कि प्रत्येक कार्यकर्ता को 15 घंटे की अवधि में कम से कम 3-4 जॉब (सबसे लंबे समय तक होने की संभावना निष्क्रिय समय अवधि) के माध्यम से प्राप्त कर सकते हैं
  • नौकरी के आकार के साथ खेलो ताकि सेटअप समय काफी प्रसंस्करण समय (मन में ऊपर बिंदु असर) की तुलना में नगण्य हो जाता है.
  • यदि एक नौकरी डबल समय की राशि (शायद कम) आप इसे पूरा करने के की उम्मीद में पूरा नहीं करता है यह लगता है कि अपने से चला गया AWOL और यह अन्य कार्यकर्ता के साथ प्रसंस्करण शुरू. इसका मतलब है आप तीन बार इसके लिए एक नौकरी की सामान्य लंबाई के लिए प्रतीक्षा को पूरा करने के लिए (संभवतः अब अगर बाद में काम विफल रहता है) हो सकता है. आप इस समय को कम करने के लिए, लेकिन नहीं यह भी बहुत कम है के रूप में आप एक नियमित आधार पर प्रसंस्करण कार्यों duplicating शुरू हो सकता है सावधान रहना चाहते हो सकता है.
  • नौकरियां जितना संभव बाहर आवश्यकताओं के स्वतंत्र होना चाहिए. नौकरी सर्वर, उदाहरण के लिए, केवल और हर काम के शुरू और अंत में संपर्क किया जाना चाहिए.
  • अपने नेटवर्क तर नहीं है, इस दो नकारात्मक प्रभाव पड़ेगा, अपने दिन कर्मचारियों नेटवर्क निराशा होती है और समस्याओं कनेक्शन बाहर एक समस्या यह है कि केवल बिगड़ के रूप में आप अपने ग्रिड पैमाने पर होगा समय के साथ अनुभव किया जा सकता है का उपयोग कर पाएंगे.
  • सुनिश्चित नौकरियों अपने कार्यकर्ताओं पर चला सकते हैं. यदि नौकरियों भी स्मृति बन गहन या डिस्क स्थान गहन नौकरियों निरस्त शुरू करने के लिए और केवल एक बात तुम नोटिस हूँ कोई वास्तविक कारण के साथ कार्रवाई की नौकरियों की संख्या में एक बूंद है.

एक नौकरी के सबमिट परिणाम

जब एक नौकरी के परिणाम प्रस्तुत यह महत्वपूर्ण है कि परिणाम एक अन्य कार्यकर्ता द्वारा नहीं किया गया है प्रस्तुत किया है, खासकर अगर वर्तमान कार्यकर्ता कुछ समय के लिए निष्क्रिय किया गया है की जाँच करने के के लिए.

जब परिणाम प्रस्तुत कर रहे हैं सुनिश्चित करें कि परिणामों की संख्या नौकरी के भीतर अभिलेखों की संख्या से मेल खाता है.

जैसा कि पहले कहा, और अधिक पर जोर दिया, नौकरी की पुनर्प्राप्ति और परिणाम प्रस्तुत करने में दोष सहिष्णुता का निर्माण नहीं कर सकते. श्रमिकों कर सकते हैं (और सबसे अधिक संभावना होगी) को निलंबित मोड में जाने के समय की सबसे असुविधाजनक पर और इस की जरूरत के लिए catered करने के लिए. इसके अलावा एक बार फिर दूर अपने परिणाम प्रस्तुत करने abstracting अपने काम पर नियंत्रण बहुत आसान प्रणाली के साथ सौदा करने के लिए भविष्य परिवर्तन के लिए पूरा करने में मदद करेगा.

सारांश

इस section में हम एक नौकरी नियंत्रण सर्वर के लिए क्या करने की जरूरत पर ध्यान दिया है और कैसे प्राप्त करने के लिए एक बहुत ही बुनियादी प्रणाली स्थापित. हम चर्चा कैसे पुनः प्राप्त करने के लिए नियंत्रण प्रणाली से एक नौकरी और कैसे सबसे अच्छा करने के लिए नौकरियों को कॉन्फ़िगर करने के लिए सबसे अपने कार्यालय ग्रिड प्रणाली के हमारे. खत्म करने के लिए, या परिणाम प्रस्तुत वापस काम पर नियंत्रण सर्वर पर पैरा दो पेश किया गया.

  • एक काम पर नियंत्रण सर्वर नौकरियों और यह सुनिश्चित करता है कि सब काम इकाइयों पूरा कर रहे हैं का प्रबंधन
  • अपने काम का चयन परिणाम प्रस्तुत / abstracting करके हम ज्यादा समस्याओं के बिना नियंत्रण सर्वर के प्रौद्योगिकी बदल सकते हैं
  • अपनी नौकरियों को कॉन्फ़िगर करने के लिए सुनिश्चित करें कि वे जल्दी से और कुशलता से अपने नेटवर्क बुनियादी सुविधाओं पर बहुत अधिक दबाव डालने के बिना चलाए जा रहे हैं, और प्रसंस्करण एक नियमित आधार पर कार्य duplicating के बिना.
  • सुनिश्चित करें कि आप गलती सहिष्णुता और अपनी दिनचर्या में त्रुटि checking निर्माण, श्रमिकों को निलंबित और फिर से शुरू कर सकते हैं और समय की सबसे असुविधाजनक. चेक यदि परिणाम पहले से ही एक अन्य कार्यकर्ता द्वारा दर्ज़ हो गया है याद रखें.

अगली बार

इन भाग 3 हम अपने आभासी प्रसंस्करण मशीन बनाने के लिए और हमारे खिड़कियां मशीनों को सेट करने के लिए निष्क्रिय समय श्रमिकों बन हूँ .

कार्यालय ग्रिड आभासी वातावरण का उपयोग कम्प्यूटिंग - भाग 5

, शुक्रवार 4 दिसंबर, 2009 11:03 बजे

परिचय

मैं एक कंपनी में जहाँ हम कई बैच प्रसंस्करण नौकरियों डेटा के अभिलेखों का लाखों प्रत्येक दिन चलाने के लिए और मैं सभी मशीनों है कि प्रत्येक के आसपास बैठते हैं और हर दिन कई घंटे के लिए कुछ नहीं कर रही के बारे में किया गया है हाल ही में सोच काम करते हैं. यह अच्छा नहीं होगा अगर हम उन मशीनों का उपयोग करने के लिए हमारे सिस्टम के प्रसंस्करण शक्ति सिलेंडर सकता है? लेख के इस सेट में मैं एक कार्यालय रोजगार के संभावित लाभ को देखने जा रहा हूँ ग्रिड virtualised वातावरण का उपयोग .

में भाग 4 हम उपकरण का उपयोग करने के लिए सुनिश्चित करें कि हम कोड और डेटा स्रोतों के नवीनतम संस्करण चला रहे हैं इतना है कि प्राप्त परिणामों हमेशा नवीनतम व्यापार जानकारी और तर्क के साथ करने वाली तारीख को देखा .

प्री - तैनाती

तुम अगर वहाँ एक बात है अपने ग्रिड प्रणाली की तैनाती से पहले करते हैं और एक बात अकेले यह अपने वर्तमान प्रणाली बेंचमार्क है ! कोई फर्क नहीं पड़ता कि तुम क्या आपके सिस्टम कितना अतिरिक्त काम करने जा रहा है के बारे में सहयोगियों बताओ जब तक आप अपने गारंटी देता है इस वापस संख्या है कुछ भी नहीं कर रहे हैं. तो,

  • आप वर्तमान में कितने रिकॉर्ड की प्रक्रिया कर सकते हैं? प्रति दिन? प्रति घंटे?
  • कब तक यह आम तौर पर ले करता है एक नौकरी के लिए चारों ओर बारी है?
  • आप कितना अधिक क्षमता है?

वहाँ भी अतिरिक्त प्रश्न:

  • यदि आपके प्रसंस्करण सर्वर (या अपने प्रसंस्करण सर्वर के) नीचे चला जाता है यह अपनी क्षमताओं को कैसे प्रभावित करेगा है, तो आप अपंग हो जाएगा?
  • क्या लाभ / आप उम्मीद है एक ग्रिड प्रणाली से प्राप्त करने की उम्मीद है?
  • अपने कार्यालय मशीनों नौकरियों चल करने में सक्षम है?
  • क्या आपके (या आप नौकरी परिवर्तित किया जा सकता है) चल रहा है की इस शैली में काम करने के लिए?

पिछले प्रमुख बिंदु इस तरह से किसी भी बड़े बदलाव पर अपना समय ले रहा है. आपके प्रसंस्करण कोड का अद्यतन करने के लिए नई पद्धति बेंचमार्क, फिर का उपयोग कर काम है. संभवत: आपके प्रसंस्करण सर्वर स्थापित करने के लिए एक आभासी मशीन चलाने के लिए, अपने सभी संसाधन सर्वर के बाद सिर्फ एक और कार्यकर्ता (सिर्फ एक बहुत शक्तिशाली एक अपेक्षाकृत). नई प्रक्रिया को व्यवस्थित करने की अनुमति दें.

तैनाती

मेरा सुझाव कार्यालय एक सप्ताह के अंत में पॉप के सभी प्रतिष्ठानों और सेटअप प्रदर्शन होगा . बस एक पखवाड़े की छुट्टी से पहले यह मत करो और बहुत अन्य गरीब छोड़ ... शायद परिणाम नहीं के साथ सौदा करने के लिए आदमी ...

इस तरह एक प्रणाली के लिए तैनाती के लिए धीमी गति से होने की जरूरत है. यह अपेक्षाकृत सरल किया जा रहा करने के लिए इस प्रणाली स्थापित करने के बावजूद अपने पूरे कार्यालय के बुनियादी ढांचे (अच्छी तरह से डिजिटल एक) को प्रभावित करेगा. सबसे पहले, एक समय में मशीनों के एक जोड़े, निगरानी नेटवर्क यातायात, कैसे कार्यकर्ता मेजबान एक दिन के लिए दिन के आधार पर प्रदर्शन करने के लिए बाहर रोल. आप अपने निष्कर्षों के जवाब में अपनी नौकरी विन्यास को बदलने की आवश्यकता हो सकती है.

एक बार इस प्रणाली के कुछ मशीनों (कहते हैं कि सभी कार्यालय मशीनों के 10%, अर्थात् 5) नेटवर्क यातायात और मेजबान मशीन performance. फिर अगला बेंचमार्क निगरानी रखने की सुविधा देता है के साथ बसे है, अब तुम अपना पहला मानक की तुलना में 33% अधिक नौकरियों प्रसंस्करण किया जाना चाहिए. जाँच करें यह ऐसा है, या कि आप कम से कम इस ballpark में हो. जांच यदि नहीं, पर जाने से पहले क्या हो जा रहा है. इस चक्र को दोहराएँ जब तक आप सभी कार्यालय मशीनों खुशी व्यक्तिगत मशीन के प्रदर्शन की हत्या के बिना चल रहा है या एक ठहराव के लिए अपने नेटवर्क पीस.

सभी समय में बेंच मार्किंग रखने के लिए, सभी की तैनाती के बाद भी बना रहे हैं. जाँचें कि नए कोड अद्यतन आपके सिस्टम की गति को प्रभावित जांच, सभी श्रमिकों में रिपोर्ट कर रहे हैं और प्रसंस्करण नौकरियों. धीरे धीरे बहुत धीरे धीरे अपनी नौकरी विन्यास वेतन वृद्धि करने के लिए अपने कार्यकर्ताओं और नेटवर्क से सबसे अच्छा मिलता है.

बंद करो!

क्या होगा अगर आप कुछ समय में चलने से अपने कार्यकर्ताओं को बंद करना चाहते हैं हैं? वे सब वहाँ से बाहर चल रहे हैं, regenerating, और उनकी पूरी कोशिश कर रही करने के लिए भूख कीड़े की तरह डेटा की प्रक्रिया कर रहे हैं. जवाब स्पष्ट लग सकता है, लेकिन इसके लायक सिर्फ मामले में इसकी अनदेखी जोड़ने. बस एक बाहर निकलें (0) के साथ अपने प्रसंस्करण स्क्रिप्ट को संपादित या मरो () या आपके प्रसंस्करण की नौकरी को मारने के लिए कुछ अन्य बयान. एक महत्वपूर्ण कारण है क्यों हम हमेशा के लिए किसी भी चलाए जाने से पहले नवीनतम प्रसंस्करण स्क्रिप्ट अद्यतन करने के लिए करने की कोशिश!

प्रदर्शन सिस्टम

आदेश में कम लेख के इस सेट को लिखने के लिए मैं एक बहुत छोटे से ग्रिड प्रौद्योगिकियों और तरीकों का प्रदर्शन बनाया. मैं लेख, ट्यूटोरियल, के बहुत पढ़ा है, और विभिन्न उपकरणों के इस्तेमाल करने के लिए सेटअप और निगरानी क्या चल रहा था. कोई मतलब है मैं बाहर चले गए हैं और यातायात के साथ एक पूरी कार्यालय संतृप्त और न ही मैं एक नियमित रूप से स्टाफ के सदस्यों को देखने के लिए कैसे मेजबान के प्रदर्शन से प्रभावित था पीसी के लिए उपयोग किया था.

मेरा प्रदर्शन प्रणाली वास्तव में बहुत ही विनम्र था. मैं अपने नियमित रूप से एक नौकरी नियंत्रण सर्वर के रूप में सेट डेस्कटॉप का इस्तेमाल किया. मैं इस में स्थापित किया था mySQL सर्वर एक मास्टर के रूप में प्रतिकृति में सेट स्थापित , PHP, एक और SVN के माध्यम से जुड़ा हुआ एपाचे (कार्यकर्ता VM के माध्यम से पहुँच के लिए ).

मैं तो VirtualBox पर एक 6 साल पुराने विंडोज़ XP लैपटॉप पर एक CentOS कार्यकर्ता मशीन बनाया. मैं सेटअप अनुसूचित के रूप में मशीन पर VM नकल के बाद निर्दिष्ट कार्य और इसे जाने.

वर्चुअल मशीन PHP, तोड़फोड़, और mySQL के साथ स्थापित किया गया था. मैं बाहर मेरे काम पर नियंत्रण सर्वर रिपॉजिटरी से 'कार्यकर्ता' नाम शाखा की जाँच और यकीन है कि यह 'svn अद्यतन' का उपयोग कर अद्यतन किया जा सकता बनाया है. अगला एक दास के रूप में सेटअप mySQL और मैं जाँच की है कि डेटा mySQL से काम पर नियंत्रण सर्वर पर नकल कार्यकर्ता VM के लिए नीचे था. इस सब के बाद मैं bash स्क्रिप्ट और क्रॉन नौकरी सेटअप.

मेरा प्रसंस्करण स्क्रिप्ट को मूल रूप से इस की तर्ज (बहुत सरल सामान) के साथ चला गया:

  • नाम फ़ील्ड में पढ़ें
  • किसी तालिका में इसी तरह के नामों की VM पर आयोजित डेटा स्रोत से संख्या की गिनती
  • रिक्त स्थान द्वारा उपरोक्त लेकिन बंटवारे नाम (यानी forename, मध्यम, उपनाम) के रूप में नामों की संख्या की गिनती
  • इस प्रक्रिया को 1,000 बार दोहराया

प्रत्येक नौकरी लगभग 20 मिनट चलाने के लिए ले लिया. एक बिंदु पर मैं खिड़कियों लैपटॉप पर कार्यकर्ता VM के कई प्रतियां खोला और देखा नौकरियों प्रत्येक कार्यकर्ता आईपी पते के द्वारा जाँच की जानी है. इस बिंदु पर मैं यह भी है कि स्वचालित रूप से पुनरारंभ प्रतिकृति की पुष्टि की.

एक कार्यकर्ता के लिए काम पर नियंत्रण सर्वर से नौकरियों प्रक्रिया शुरू में परिणामस्वरूप निष्क्रिय लैपटॉप छोड़कर. जब लैपटॉप उपयोग शुरू करने के बारे में 30-60 सेकंड के एक देरी था, इस समय और स्टाफ के एक निष्पक्ष राशि की आवश्यकता होगी पता है कि उनके मशीन थोड़ी देर के लिए विरामित जब मशीन से लौट सकता है बनाया जा. नई मशीनों के इस लंबे समय से एक ठहराव नहीं हो सकता है. निष्क्रिय अवधि के दौरान इन मशीनों द्वारा प्रदर्शन प्रसंस्करण की राशि का लाभ है कि कर्मचारियों को एक सुबह उनकी मशीनों पर पहुंचने पर एक छोटी सी अवधि (1 मिनट कहते हैं) की प्रतीक्षा करने के सदस्यों पल्ला झुकना और अधिक (मैं बार बार होगा अब इंतजार है कि एक Windows Defender के लिए इस जगह ले) अद्यतन प्रदान वे इस के बारे में पता किए गए थे (उपयोगी समय के लिए सुबह की कॉफी हड़पने!).

कुल मिलाकर मुझे विश्वास है कि मैं प्रौद्योगिकियों कि एक ऐसी प्रणाली बनाने के लिए इस्तेमाल किया जा सकता का प्रदर्शन किया है लगता है. मुझे पता चला है कि एक ऐसी प्रणाली (बहुत) छोटे पैमाने पर और कुछ और अधिक प्रयोग को बढ़ाया जा सकता है और एक कार्यालय मशीन के संसाधनों का उपयोग के साथ काम करता है. यदि मैं ऐसा करने की बात को नहीं मिलता है मैं बहुत पता करने के लिए दिलचस्पी हो / देखो जब किसी करता.

निष्कर्ष मूल्यांकन /

अगले स्पष्ट कदम के लिए वास्तव में एक असली दुनिया उदाहरण मिलता है और एक दफ्तर के माहौल के भीतर इस तरह के रूप में एक प्रणाली की तैनाती के लिए और देखो क्या होता है शुरू होगा. एक व्यापार पूछना एक पगडंडी धधकते कंपनी के बिना इस के लिए प्रतिबद्ध करने के लिए प्रौद्योगिकी और प्रभावशीलता को साबित करने के लिए थोड़ा मुश्किल हो सकता है. / ग्रिड कंप्यूटिंग वितरित बहुत लोकप्रिय है कुछ हलकों और कुछ बड़े अनुप्रयोगों (BIONC, SETI @ होम, Folding @ होम, आदि) है. मैं, लेकिन नहीं था, मेरे खोजों है कि एक दफ्तर के माहौल के भीतर बाहर लुढ़का सकता में एक छोटे पैमाने पर और इस तरह सरल प्रणाली मिल.

मैं मूल रूप से मुक्त प्रणाली लगभग किसी भी कार्यालय में ज्यादातर खुला स्रोत सॉफ्टवेयर और उपकरण उपलब्ध का उपयोग कर बनाया. प्रौद्योगिकियों और मूल रूप से प्रदर्शन किया गया प्रदर्शन और उम्मीद के रूप में काम को दिखाने के. उम्मीद है कि मैं पता चलता है कि नहीं बहुत काम के साथ और एक बहुत ही साधारण सेटअप के साथ आप एक कार्यालय ग्रिड कंप्यूटिंग प्रणाली को तैनात कर सकते हैं कि शक्तिशाली, सस्ते एक है, और एक ही समय में सभी स्केलेबल है है.

एक बार एक प्रणाली है और वहाँ चल रहे लगभग अनुकूलन और सुधार आप कर सकते हैं की राशि का कोई अंत नहीं है. उदाहरण के लिए आँकड़े / बेंच मार्किंग आसानी से एक ऐसी प्रणाली के लायक दिखा हर दिन जोड़ा जा सकता है. नई मशीनों जल्दी और आसानी से के रूप में जोड़ा जा सकता है और जब वे अपने प्रसंस्करण शक्ति को सहारा देने के मौजूदा हार्डवेयर के उन्नयन के साथ पहुंचें.

मुझे आशा है कि आप लेख की इस श्रृंखला को पढ़ने का आनंद लिया है और अपने आप एक कार्यालय ग्रिड प्रणाली पर चल रहे विचार के लिए भोजन दिया. यहाँ प्रस्तुत समाधान के लिए जरूरी सभी स्थितियों में काम नहीं, लेकिन अनुकूलनीय होना करने के लिए तुम्हें पाने के लिए अपने डाटा प्रोसेसिंग किया है अपने खुद के समाधान का उपयोग की अनुमति चाहिए.

कृपया मुझे कोई टिप्पणी, सुधार, सुधार या भेजने के लिए स्वतंत्र महसूस हो रहा है और मैं अपना सर्वश्रेष्ठ करने के लिए इस लेख के लिए मैच के लिए अद्यतन रख देती हूँ.













पैनोरमा थीम द्वारा Themocracy

6 आगंतुकों ऑनलाइन अब
5 मेहमानों, 1 बॉट, 0 सदस्यों
05:44 बजे UTC पर 22: अधिकतम आज आगंतुकों
इस महीने: 23 UTC 24-08-2011 05:40 पर हूँ
इस वर्ष: 130 28-03-2011 10:40 बजे UTC
सभी समय: 28-03-2011 10:40 बजे UTC 130