Úvod
Pracuji ve firmě, kde jsme se spustit mnoho dávkové úlohy zpracování miliony záznamů dat každý den a já jsem byl nedávno přemýšlel o všech strojích, které sedí kolem každého a každý den nedělá nic pro několik hodin. Nebylo by dobré, kdybychom mohli využít těchto strojů pro posílení výpočetního výkonu našich systémů? V tomto souboru článků Jdu se podívat na potenciální výhody zaměstnávání úřadu sítě pomocí virtualizovaných prostředích.
V části 4 se podíval na používání nástrojů, aby zajistila, že jsme používají nejnovější verzi kódu a datových zdrojů tak, aby získané výsledky jsou vždy up-to-date s nejnovějšími obchodních informací a logiky.
Pre-nasazení
Před nasazením své distribuční soustavy, pokud je tu ještě jedna věc, kterou uděláte, a jednu věc, jen je to benchmark váš současný systém! Bez ohledu na to, co řeknete kolegy o tom, kolik práce navíc je váš systém bude dělat, pokud jste čísla by toto vaše záruky jsou nic. Tak,
- kolik záznamů můžete zpracovat v současné době? Za den? Za hodinu?
- Jak dlouho to obvykle trvá otočit práci?
- Kolik větší kapacitu máte?
K dispozici je také doplňující otázky:
- Pokud váš zpracování server (nebo jeden z vašich zpracování serverů) jde dolů, jak to ovlivní vaše schopnosti, budete mrzák?
- Jaké výhody vám naději / očekávat, že si z distribuční soustavy?
- Jsou vaše kancelářské stroje schopné provozovat pracovní místa?
- Jsou vaše (nebo si můžete práci převést) pro práci v tomto stylu běhu?
Poslední hlavní bod, je vzít si čas na žádné velké změny, jako je tento. Aktualizujte svůj operační kód pro práci s použitím nové metodiky, benchmark znovu. Možná nastavit zpracování server spustit virtuální stroj, po všech těch zpracování server bude jen dalším pracovníkem (jen velmi silnou, poměrně). Umožnit nový proces se usadit.
Nasazení
Můj návrh by byl pop do kanceláře jeden víkend provádět veškeré instalace a nastavení. Udělejte to těsně předtím, než čtrnáctidenní dovolenou a nechat tak ostatní chudák se vypořádat s následky ... možná taky ne ...
Deployment for a system like this needs to be slow. Despite it being relatively simple to set up this system will affect your entire office infrastructure (well the digital one). Firstly, roll out to a couple of machines at a time, monitor network traffic, how the worker hosts perform on a day-to-day basis. You may need to alter your job configuration in response to your findings.
Once the system has settled with a few machines (lets say 10% of all office machines, ie 5) keep monitoring network traffic and host machine performance. Next benchmark again, you should now be processing 33% more jobs than your first benchmarks. Check this is so, or that you're at least in this ballpark. If not, investigate what is going on before moving on. Repeat this cycle until you happily have all office machines running without killing individual machine performance or grinding your network to a standstill.
At all times keep benchmarking, even after all deployments are made. Check how new code updates affect speed of your system, check all workers are reporting in and processing jobs. Slowly (very slowly) increment your job configuration to get the best from your workers and network.
Stop!
Co když chcete zastavit své pracovníky v běhu na nějaký čas? Všichni jsou tam běží, regenerace, a snaží jejich nejlepší pro zpracování dat, jako je hlad hmyz. Odpověď se může zdát zřejmé, ale nutno dodat, jen v případě, že jeho přehlíženy. Stačí upravit svůj zpracování skriptu s exit (0) nebo die () nebo některé další údaj, zabít svého zpracování práce. Důležitým důvodem, proč se vždy snažíme aktualizovat na nejnovější zpracování skriptu před utíkej!
Demonstrace systému
Aby bylo možné psát tento soubor krátkých článků jsem vytvořil velmi malé sítě k prokázání technologií a metod. Četl jsem spoustu článků, návodů, a používá různé nástroje pro nastavení a sledovat, co se děje. V žádném případě jsem šel ven a nasycených celou kancelář s provozem a ani jsem měl přístup k pravidelným PC zaměstnance, aby viděli, jak byl ovlivněn výkon hostitele.
Moje demonstrace systém byl velmi pokorný opravdu. Použil jsem běžné stolní nastavit jako server kontroly práce. Na tomto jsem měl nainstalovaný MySQL server nainstalován nastavit jako master replikace, PHP , Â a SVN spojený přes apache (pro přístup přes pracovníka VM).
Pak jsem vytvořil CentOS pracovník stroj na VirtualBox na 6 roků starých oken notebook XP. I nastavení naplánovaných úloh, jak je uvedeno po zkopírování VM na stroj a nechte ho jít.
Virtuální stroj byl zřízen s PHP, podvratné činnosti, a mySQL. Ověřil jsem si větev s názvem 'pracovník' z mých serverů zaměstnání kontrolu úložiště a ujistili se, že by mohla být aktualizován pomocí 'svn update'. Dále jsem nastavení MySQL jako otrok a ověřil, že data byla replikace z MySQL na serveru kontroly práce se na pracovníka VM. Po tom všem jsem setup bash skript a cron.
Moje zpracování skriptu v podstatě šlo v duchu této (velmi jednoduché věci):
- Přečtěte si v názvu pole
- Počítá se počet podobných jmen v tabulce ze zdroje dat se konalo ve dnech VM
- Počítal počet jmen jako výše, ale rozdělení na název mezerami (tj. jméno, střední, příjmení)
- Opakoval tento proces 1.000 krát
Každá práce se přibližně 20 minut běžet. V jednu chvíli jsem otevřel několik kopií pracovníka VM na oknech notebooku a sledoval, jak pracovních míst odškrtnout každý pracovníka IP adres. Na tomto místě bych také potvrdil, že replikace se automaticky restartuje.
Odchod z notebooku na volnoběh za následek pracovník zahájením zpracování úloh ze serveru kontroly práce. Při obnovení laptop využití došlo ke zpoždění asi 30 až 60 sekundy, to je slušné množství času a personálu by muselo být vědomi, že jejich stroj může pozastavit na krátkou dobu při návratu do stroje. Novějších strojů nesmí mít pauzu tak dlouho. Ve prospěch výše zpracování vykonávané v rámci těchto strojů během nečinnosti období by více, že převažují zaměstnanci museli čekat krátkou dobu (řekněme 1 minuta) při příjezdu na jejich stroje ráno (jsem často déle čekat, že to pro Windows Defender Aktualizace se konat) za předpokladu, že byli informováni o této (užitečné čas chytit ranní kávu!).
Celkově mám pocit jistoty, že jsem demonstroval technologie, které by mohly být použity k vytvoření takového systému. Ukázal jsem, že takový systém funguje na (velmi), v malém měřítku a některé další experimentování může být zmenšen až využívat zdroje z úřadu strojů. Pokud nemám dostat do bodu, jak toho dosáhnout byl bych velmi zajímalo, / vidět, když to udělá někdo jiný.
Závěry / hodnocení
Další zjevné krokem by bylo skutečně dostat reálného světa příkladem a začít nasazení systému, jako je to v prostředí kanceláře a uvidíme, co se stane. Kladení podnikání, aby se zavázaly to bez průkopnictví společnost prokázat technologii a účinnost může být trochu obtížné. Mřížky / Distribuované výpočty je velmi populární, je několik kruhů a má několik velkých aplikací (BIONC, SETI @ Home, Folding @ Home, atd.). Nechtěl jsem, nicméně, najít menšího rozsahu a jednoduchého systému, jako je to v mém hledání, které by mohly být válí v kancelářském prostředí.
Vytvořil jsem v podstatě bez systému, s použitím převážně open source software a nástroje k dispozici v téměř každé kanceláře. Technologie byly v podstatě prokázat, a ukázat, aby fungovaly a fungují podle očekávání. Doufám, že jsem se ukázat, že se nebude moc práce a velmi jednoduché nastavení můžete nasadit kancelář grid computing systém, který je silný, levný, Â a škálovatelné všechny ve stejnou dobu.
Jakmile je systém v provozu není téměř žádný konec výše úprav a vylepšení můžete udělat. Například statistiky benchmarkingu lze snadno přidat ukazovat hodnotu takového systému každý den. Nové stroje mohou být přidány rychle a snadno, jak a kdy dorazí s modernizace stávající hardware posílení svého výpočetního výkonu.
Doufám, že jste si užil čtení této sérii článků a vám dal k zamyšlení na provoz kanceláře distribuční soustavy. Toto řešení zde nebude nutně fungovat ve všech situacích, ale měly by být schopny se přizpůsobit vám umožní dostat své zpracování dat provádí pomocí vlastního řešení.
Neváhejte a pošlete mi jakékoli připomínky, opravy, či vylepšení a já budu dělat moje nejlepší, aby tento článek aktualizován na zápas.