Kategória: Grid Computing

Office Grid segítségével virtuális környezetben - 4. rész

A , péntek december 4, 2009 11:59

Bevezetés

Dolgozom a vállalatnál, ahol sok fut kötegelt feladatok feldolgozására millió nyilvántartást adatok minden nap, és Gondolkodtam az utóbbi időben az összes a gépeket, hogy ülnek minden egyes nap semmit sem több órán át. Nem lenne jó, ha tudnánk használni az olyan berendezést is, hogy erősítsék meg a feldolgozási teljesítmény a mi rendszerek? Ebben meg a cikkek fogom nézni a potenciális előnyei foglalkoztató iroda rács segítségével virtualizált környezetben.

A 3. rész hoztuk létre a virtuális géphez, és beállítani a Windows gépek lesz tétlen munkaidőben.

Futás a legfrissebb kódot

Elkerülhetetlen létrehozása után a munkások üzleti logika meg fog változni, hibákat fog találni, gyorsabb hatékonyabb kódot előállítani meghagyva így a dolgozók Szo körül adatfeldolgozás segítségével régi büdös kódot . De vajon hogyan tudjuk biztosítani, hogy mindig a legújabb és legjobb változata a feldolgozó szkriptet?

Van néhány nagyon egyszerű egyszerű módon tudnánk ezt a trükköt, azonban az, hogy csökkentse feldolgozási teljesítmény és a hálózati forgalom ennek elérésében. Kezdjük a legegyszerűbb megoldások és javítására lassan egy pár iteráció.

Az első módszer az lenne, hogy egyszerűen csak csatlakoztatni kell a munkánkat vezérlő szerver (via samba, FTP, vagy hasonló), és húzza le a legújabb verzióját a kódot. Nem nagyon hatékony, de ez a munkát. Lehetővé teszi, hogy javítsa az, hogy valamivel, mi a helyzet megteremtése rsync script segítségével, és hogy minden egyes alkalommal helyett? Alternatívaként mi a helyzet üzembe legújabb feldolgozás script a felforgatás megnézni a kódot, kezdetben, aztán csak frissítjük kódot minden távon ( svn update )?

A végén sikerült a végén egy bash script (nevezik cron 10 percenként), ami úgy néz ki, ilyen egyszerű:

  #! / Bin / sh
 ha ps ax | grep-v grep | grep php > / dev / null
 majd
     echo "Job jelenleg feldolgozás, exit"
 más
     echo "Job nem fut, indítsa el most"
     cd / path / to / munka / másolás
     svn update
     php yourJobProcessingScript.php
 fi 

Most már biztos, hogy minden távon mi határozottan fut a legújabb kódot. Mi biztosítja ezt frissítjük alapkód minden egyes alkalommal, amikor végre a futás és csökkenti a hálózati forgalmat csak át a fájlt különbségek a hálózat.

Az én demonstrációs setup, én pontosan a fentiek szerint. Subversion volt telepítve a feladat feldolgozását kiszolgáló és egyszerűen kihúzta a legfrissebb kódot egy "munkavállaló" ága a 'svn update ". Azt is hozzátette, a verziószámot tag a feldolgozó script, amely visszakerült az adatbázisba részeként az eredmények vissza. Így láttam, hogy a kód frissülnek minden alkalommal másoltam a törzs be a munkavállaló ága, azaz, hogy én határozottan fut a legújabb feldolgozás script.

A legfrissebb adatok

Ha a feladat feldolgozását él adatforrások, majd egy bizonyos ponton ezek lesznek frissíteni is. Ha nem hívja fel az adatforrások egy nagyon ritka alapján fogsz árvíz a hálózat forgalmi, amint a munkások kezdődik hozza mindent a holtpontról. Az én megoldásom úgy döntöttem, hogy szeretnék áthelyezni Adatforrások körül a virtuális gépeken.

Tartsa te ló ott! Mit tegyek, ha adatforrások HATALMAS? Hát ez valóban egy esetben, hogy mennyi adat is van szó? Lehet, hogy sokkal költséghatékonyabb telepíteni egy további nagyobb merevlemezt az egyes gépek, mint a vásárlás egy további feldolgozó szerver. Ez a kérdés a költségvetés, és akár az üzleti dönteni. Ez lehet, hogy az adatforrások olyan nagy, hogy annak csak kivitelezhetetlen tartani, hogy az adatok mennyisége a munkavállalók gépek. Ebben az esetben mit tennél? Nos tudnánk nézni hívja a helyi adatok szerver, de ez okozhat problémákat a hálózat. Ebben az esetben a grid-rendszer, mint ez válhat irreális felvenni irodai környezetben. Az is lehet, hogy meg lehet keresni az alternatív működési stratégiák, például csak a hívás a dolgozók 08:00-6:00 minden éjjel, és / vagy szabályozása adatforrás kéréseket.

Mozgás a mondjuk mi adatforrások összege 100 GB adat. Hát igen, ez egy kicsit adatok mozoghat a hálózat egy frissítést. Hogyan tudjuk biztosítani, hogy a legújabb példányát az adatok ebben az esetben? Rsync egy lehetőség, de személy szerint azt hiszem, a futás a legfrissebb adatok forrása a feladat feldolgozását kiszolgáló beállítása ez, mint egy mester replikáció (a szép hosszú bin log) lehet az út:

replikáció Azáltal, minden a munkavállalókat, mint egy rabszolga, hogy a munkát vezérlő szerver frissítéseket a adatforrások lesz lecsapódása szépen a dolgozók nélkül hatalmas növekedés hálózati tevékenységet (azaz ha nem végez egy hatalmas adatok frissítése és az összes munkavállaló kick-ben egyszerre). Ez előnye rsync-ben, hogy nem kap egy hosszú szünet előtt minden munkát, mint az adatbázis-frissítések, a mysql démont a munkavállaló folyamatosan frissíti az adatokat, miközben a feldolgozás folytatódik.

Ez hogyan hozzanak létre a demonstráció szerver. Beállítása replikáció követtem az útmutató a MySQL honlapján ( beállítása replikáció ) és 20 percen belül volt a Kezdeti munkavállalót lemásolják a munkát vezérlő szerver adatbázis. Minden további munkavállalót a replikációs beállításokat és a folyamat dolgozott minden egyes alkalommal, amikor a VM másolták.

Összefoglalás

Ebben a részben a cikk kerestünk, hogy mennyire egyszerű és gyors is tartani a feldolgozási kód naprakészen using rsync vagy subverion (SVN), hogy ezt a munkát és csökkenti a hálózati forgalmat ugyanazon a time. Azt is megvitatták, hogyan tartani az adatforrás információk up-to-date, lehetővé téve, hogy lecsapódása érdekében minden a munkavállalók. Így a területen biztosítja, hogy lépést tartsanak az üzleti logikát és információs irodánkban rács rendszer. Lesz nyilvánvalóan számtalan alternatívát e feladatok, de itt két egyszerű példát, hogy megmutassuk, milyen egyszerű a megoldás találni.

Legközelebb

Az utolsó része ennek a sorozat, találóan elnevezett 5. rész , megbeszéljük telepíteni a rendszert. Én össze, amit már tanultak és mit sikerült létrehozni.

Office Grid segítségével virtuális környezetben - 1. rész

A , péntek december 4, 2009 11:23

Bevezetés

Dolgozom a vállalatnál, ahol sok fut kötegelt feladatok feldolgozására millió nyilvántartást adatok minden nap, és Gondolkodtam az utóbbi időben az összes a gépeket, hogy ülnek minden egyes nap semmit sem több órán át. Nem lenne jó, ha tudnánk használni az olyan berendezést is, hogy erősítsék meg a feldolgozási teljesítmény a mi rendszerek? Ebben meg a cikkek fogom nézni a potenciális előnyei foglalkoztató iroda rács segítségével virtualizált környezetben.

A PHP fejlesztői fogom használni eszközöket használom minden nap nevezetesen, Linux, MySQL , PHP, VirtualBox és a Subversion (SVN). Azonban remélem, hogy ez az útmutató alkalmazkodni a más nyelvek és technológiák ugyanúgy.

A megoldás biztosítja azt is nagyon lazán típusa alapján a feldolgozás azt kéne elérni, azonban ez nem lehet igaz, az egész cikket fogok változtatni a dolgokat az egyszerűség kedvéért, illetve, hogy több érdekes felhasználási forgatókönyv.

Ezek a virtuális környezetekben futtatható Windows gépeken, mivel ez az, amit a legtöbb irodák futnak. A feldolgozás az irodai gépek ne ne zavarja személyzete használja ezeket a gépeket, meg kell karbantartást nem igényelnek, a gép, és könnyen telepíthető az új gépeket, amint elérhetővé válnak. Továbbá, az új virtuális gépek nem igényelnek további beállításra, mivel ez jelentősen csökkenti a skálázhatóságot és könnyű, ahol a rács rendszer kiterjeszthető.

Miért telepítése az Office Computing Grid?

Először is lehet, hogy gondol, miért nem csak használja a cloud computing erőforrás, mint az Amazon EC2 platformon ? Nos oka lehet több, mint például:

  • Ön nem bízza bizonyos adatok a cloud computing környezetben
  • Nem lehet tenni bizonyos adatokat egy cloud computing környezetben jogi okokból (pl. az adatok elhagyja az országot), esetlegesen jogi okokból, például NHS rekordokat.
  • Azt akarod tartani a feldolgozó egységek szoros és teljes ellenőrzése alatt a hardver is
  • Nem kell a projekt alapok futtatni felhő példányok
  • A hivatal nem rendelkezik a kapcsolatot az interneten, és ezért annak nem lehet használni egy felhő forrás
  • Nem mint az eső, felhők azt az eső, ezért tartsa távol

Biztos vagyok benne, a listát lehetne folytatni, de azt hiszem ennyi elég egyelőre.

Előnyök az Office Computing Grid

Nos, lehetővé teszi, némi matematikai (és igaz fizika stílusban teszi, hogy néhány elsöprő feltételezések). Képzeld el, hogy nagy húsos feldolgozó szerver fut 100 munkahely naponta. Az irodában van 50 gép, amely tétlen napi 16 órán át, minden egyes ilyen gépek 10%-ot olyan erős, mint a húsos feldolgozás sever. (Minden eredmény itt vannak kerekítve alábecsülni a teljesítmény növekedés).

Tehát, 1 gép * 10%-os teljesítmény * 2 / 3 idő = 0,067 azaz 1 asztali feldolgozás üresjárati időben képes feldolgozni 6 teljes napi feladatok számát.

Ha most mértéke ezt fel is vesz 15 idle asztali feldolgozni annyi napi feladatok, mint a fő feldolgozás szerver nem.

Tehát mi úgy, mintha irodában, 50 gépet sikerült növelni a feldolgozási teljesítmény 1-szerver akár 4 teljes feldolgozó szerverek, vagy mi lehet feldolgozása 400 napi feladatok helyett a 100.

Megjegyzés, a nem beruházás új hardvert a cég most bővítette kötegelt feldolgozási kapacitás 4-szer! Potenciálisan fogsz, hogy növelje a energiafelhasználás, de a legtöbb irodai környezetben voltam, hogy a gépek általában marad éjszakára, úgyhogy lehetett látni ezt a zöld kezdeményezést.

Más előnye is jelentheti, hogy a beruházások az új (vagy frissített) feldolgozó szerver is elhalasztható, ha az irodai gépek elégséges, és hogy ha javítják az erejét a irodagépek az irodai hálózat lesz erősebb automatikusan.

Technologies

Mire van szükséged? (Vagy pontosabban mit tudom használni):

  • Idle irodai gép (esetemben egy tartalék öreg Windows XP laptop)
  • VirtualBox (vagy egy másik virtualizációs kliens szoftver)
  • A virtuális gép PHP, MySQL running fut kivágták OS, hívom ezeket a Limp szerver:)
  • Jobs futtatásához
  • Job szerver (lehet egy másik virtuális gép valahol)

Tipikus Jobs

Azok a munkakörök, hogy ez a rendszer célja, hogy fut a következő:

  • A rendszer kap egy listát az adatok, amelyek alapján meg kell, hogy megfeleljenek, és visszatér eredmények
  • Matching ellenőrzését foglalja magában / keresés több (meglehetősen statikus) adatforrások
  • Eredményei adatforrások további érvényesítése, összevonása, ellenőrzés további adatforrások válaszul eredmények
  • Az adatok vissza a megfelelő nyilvántartás, teljes mértékben validált és feldolgozott
  • Minden rekord egy feladat független a többi

Tehát alapvetően azt éppen a futó feladatok, amelyek megkövetelik a keveréke adatbázis lekérdezések és néhány csúcsszintű, egy meglehetősen tipikus az üzleti környezetben.

Rács megoldások nem csak előnyös feldolgozási feladatok ilyen típusú. Alapvetően minden olyan folyamat, amely lehet osztani önálló egységek párhuzamosan. Lásd ezt a wikipedia példákat és további információk: Grid Computing , de néhány híres példát SETI @ home és a BIONC . Vannak keretek futó számítógépes hálózatok, és ezek is érdemes a.

Mit fogunk elérni?

Végére ezek a cikkek, remélem azt mutatják, hogy telepíteni egy iroda hálózat, nem kell igen drága, vagy időigényes. Megyek, hogy megvitassák:

  • Beállítása a munka ellenőrzési rendszer, a munka konfiguráció
  • Létrehozása a megfelelő feldolgozási virtuális gép
  • Hogyan állítsuk be a rendszert egy Windows gép
  • Biztosítva, hogy Ön használja a legfrissebb kódot és adatok
  • Telepítés és a benchmarking
  • Előretekintés

Leszek épület (ok én építettem, akkor ezt írta) egy példa alkalmazás teszt koncepciók helyi gépen a Windows XP és a "GridMachine" virtuális gép. A munkám vezérlő szerver lesz a fő gép, amely fut Fedora 11 .

Ez egyáltalán nem azt jelentette, bizonyítani egy teljesen működő megbízható rendszert, hogy többet jelentett tüntetés, és megvitatni azt mutatja, hogy ezeket a dolgokat el lehet érni egy ésszerűen rövid idő alatt és alacsony költséggel. Kérjük, küldjenek minden megjegyzést, korrekciót, vagy a fejlesztések és én minden tőlem telhetőt, hogy tartsa ezt a cikket frissítve mérkőzést.

Legközelebb

A 2. rész fogom kezdeni, megnézi a munkát ellenőrző rendszer, és vizsgálja meg, hogyan munkahelyet úgy kell beállítani, annak érdekében, hogy a legnagyobb mennyiségű feldolgozási miközben biztosítja, hogy minden munka nélkül dolgoznak sikertelen.

Office Grid segítségével virtuális környezetben - 2. rész

A , péntek december 4, 2009 11:23

Bevezetés

Dolgozom a vállalatnál, ahol sok fut kötegelt feladatok feldolgozására millió nyilvántartást adatok minden nap, és Gondolkodtam az utóbbi időben az összes a gépeket, hogy ülnek minden egyes nap semmit sem több órán át. Nem lenne jó, ha tudnánk használni az olyan berendezést is, hogy erősítsék meg a feldolgozási teljesítmény a mi rendszerek? Ebben meg a cikkek fogom nézni a potenciális előnyei foglalkoztató iroda rács segítségével virtualizált környezetben.

Az 1. rész adtam áttekintést a rendszer és technológiák fogom használni, valamint tárgyalt néhány a lehetséges okok, hogy miért szeretne létrehozni egy irodai hálózatba.

Állás vezérlés

Ha lesz futás munkahely, akkor fogsz kell valamilyen módon kezelni őket. Az Ön feladata ellenőrzési rendszer (a munka szerveren) kell igazán jól átgondolt, mielőtt még megpróbál futtatni egy irodai hálózatba. Tehát először is, mik a feladatai a munka rendszer:

  • Osszuk ki állások kérésére dolgozók
  • Mondd el a munkavállalók milyen típusú feladatok futtatására
  • A pálya munkahelyek
  • Ügyeljen arra, hogy a feladatok csak akkor fut, ha
  • Adjon munkát az adatok a munkavállalók, vagy legalább mondd meg nekik, hogy hol kap ez

A rendszer is kell bővíthető, a megoldás, ami most egy esetben meghosszabbítható futtatni többféle munkahelyet teremteni, mint az üzleti látja érdemes egy hálózati megoldás. Például, a munkahelyek nyerhetnek prioritásokat, több munkahely típus létezik (azaz több kód bázisok), végül akkor is futhat több különböző munkavállalók a gépeket, amelyek optimalizálva minden típusú feladat (bár ez eltávolodni az "általános munkás "ötlet). Mindig próbáljuk gondolni a jövőben, amikor rendszereket fejleszt, a rövid távú jövőkép vezethet hosszú távon frusztrációt és a megnövekedett fejlesztési időt.

Állás Server

Mi lesz szüksége valahol ellenőrizni munkánkat az, ez az egyetlen rendszer a rács, hogy van egy fix Resource Locator, lehet, hogy egy IP-cím, host név, URL (a belső DNS), stb azért van, mert A munkavállalóknak tudniuk kell, hol keresse a munkahelyek, a munkavállalók meg kell találni a munka ellenőrzési rendszer (nem a munka ellenőrzési rendszer megtalálja a munkavállaló).

A munka szerver maga nem igazán bonyolult feladat (egy alap rendszer egyébként), akkor kell tárolni egy listát a munkahelyek kezet munkahelyek, megkapja eredményeket, majd tárolja azokat a későbbi visszakeresés. Hogy ezeket a részeket (például a "kezet munkahelyek") meghatározása is nagyon egyszerű. Később tudjuk kiterjeszteni a rendszer tartalmaz egy adminisztrációs felület felvenni, szerkeszteni, törölni, felfüggeszteni munkahely de ez túl ez a gyakorlat.

Nincs ok nélkül, majd, hogy a munkát kiszolgáló nem egy virtuális gépen belül futó a fő feldolgozási szerver, feltéve, hogy nem drain túl sok erőforrást belőle. A munka azonban nem szükséges kiszolgáló nagy rendelkezésre állású, ha lemegy egy péntek este fogsz veszíteni egy egész hétvégét a feldolgozás, esetleg olcsóbb akkor egy pár hétig értékű feldolgozási idő (összehasonlítva a fő feldolgozás szerver egyedül) . Ha akarod, fontolja meg a munkádat szerver terhelés kiegyensúlyozott környezetben a magas rendelkezésre állás.

Alapvető beállítások

Az alap beállítás munkánk szerver áll, amit hívom az egyik sántítás szerverek (azaz Li Nux, m ySql, P LE). A kód fut Thea munkavállalókat ténylegesen dolgozzanak ki, milyen feladatok is futtatható, kölcsönhatásban áll a munka rendszer adatbázisok. Később sikerült létrehozni egy webes szolgáltatás és valóban kezet munkahelyek ahelyett a dolgozók a kemény munkát maguknak, de most mi is használja a KISS elv (Keep it Simple, Stupid!).

Így lehetővé létre három mySQL táblákat kezelni munkahely. Ezeket `munkahelyek`, `jobRecords` és `jobResults`.

munkahelyek táblázat Itt vagyok használ SQL Buddy egy remek kis alternatíva a phpMyAdmin , csak mert az egyszerűbb telepíteni a CentOS (mások lásd: 10 Nagy alternatívái phpMyAdmin )

Ez a táblázat tartalmaz 5 egyszerű mezők

  • id: egyedi azonosítására a munka
  • név: Lehet egy ügyfél hivatkozás, vagy akárhány más azonosítók
  • Állapot: Tudnod kell, ahol a munka van, például a
    • 0: nem indult
    • 1: felvette
    • 2: Kész
  • started_by: Ki elkezdtem a munkát? Ez nem teljesen szükséges, de a szép, hogy. Én azt követő munkavállalók IP-címet a hálózat
  • started_at: Mikor a munkavállaló elindítani a munkát? A követési feladatok, amelyek nem fejeződik be X ideig tudjuk kell, hogy vegye fel a munkát újra és indítsa el feldolgozás egy másik munkás. Munkavállalók tudta megállítani feldolgozása / offline tetszőleges számú oka, áramkimaradás, összeomlás, hálózati veszteség, stb

Könnyen, hogy ez a táblát ki lehetne terjeszteni néhány további mezőket, hogy a statisztikai követés, a befejezni időben oszlopot, hogy mennyi ideig tartott a munka, egy számláló, hogy hány munkavállaló felvette a munkát (nyilván ez kell inkább 1), munka prioritás, a lista megy tovább és tovább. A bonyolultabb feladat forgatókönyvek lehetséges lenne, hogy meghatározza, hogy mennyi memóriát a munkavállaló számára hozzáférést kell biztosítani (és ezért csak akkor használja alkalmas munkavállalók), vagy akár milyen munkavállalónak lenne szükség.

Lehetővé teszi, hogy adjunk néhány példát munkahelyek:

Például munkahelyek

A következő táblázat ismét nagyon egyszerű megérteni, ezek munkánk rekordokat. Ezek kapcsolódnak a fő feladatok tábla oszlop `jobs_id`. Az alkotó az ebben a táblázatban nagyon sok múlik az adatokat, hogy meg kell szolgáltatni a munkások, lehetővé teszi, hogy egy nagyon egyszerű példát, ahol négy oszlop:

  • id: Azonosító a rekord
  • név: személy neve
  • cím: személy címe
  • jobs_id: A munka ID, hogy ez a rekord kapcsolódik

A harmadik és egyben utolsó asztalon áll egy eredmény táblázat, sokkal ugyanolyan alkotják, mint a mi rekordok asztalra, és azzal a kiegészítéssel, néhány oszlop része lehetne a rekordok táblázat:

  • job_record_id: Link az eredmény a munkát asztalra
  • Eredmény: Az eredmény adatok

... És ez minden, amire szükség van feladatvezérlő! (Bár ez egy nagyon alap szinten) Az én esetemben vagyok arra, hogy egy másik asztalhoz, ahol az adataim feldolgozása volt található, de ez ugyanúgy nem egy fájlt, paraméterek futtatni szimuláció kódot, akkor nevezd meg.

Kiválasztása a munka

Mint azt korábban jeleztük, a munkavállalók a dolgunkat menedzsment nekünk most, tehát minden, amit meg kell tennie, hogy valóban munkát találni igénylő feldolgozása és az információt. Hogyan tudjuk ezt megtenni? Nos pick mi feladatunk, kiválasztási kritériumok és keresse meg a munkahelyek, az SQL tettem a következő:

  1. Megtesz minden munkahelyet, amelyek nem jelölt teljes, de a mi dolgozó és állítsa vissza őket (helyettesítheti __ME__ azonosítójával, legegyszerűbb lenne IP-cím):
      UPDATE `` SET `munkahelyek status` = 0 WHERE `status` = 1 ÉS `started_by` = __ME__; 
  2. Segítségével munkánk kiválasztási kritériumok, válasszon ki egy feladatot, és mondd el a rendszer, hogy ez a munkás foglalkozik vele:
      UPDATE `` SET `munkahelyek status` = 1, `started_by` = __ME__, `started_at` = NOW () WHERE `status` = 0 vagy
     (`Status` = 1 és a `` started_at> DATE_SUB (MOST (), intervallum X ÓRA)) ORDER BY `id` ASC; 

    A rángatás munkahelyek, amelyek nem tért vissza eredményeket X idő mi biztosítja, hogy minden munka futnak az esetre, ha a munkavállaló összetörő vagy megy AWOL.

  3. Következő megragad a munkahelyek részleteket, majd a rekordok magukat:
      SELECT * FROM `munkahelyek` WHERE `started_by` = __ME__ LIMIT 1;
     SELECT * FROM `job_records` WHERE `id` = __JOBID__; 

Befejezése után a munka is helyezze el eredményt rögzíti és jelölje meg a munkát teljes. Ne feledje, a munkahelyek Suspend / Resume bármikor lehetővé teszi néhány robusztusság a script. Lehet, hogy a feladat felfüggeszti felénél frissítése a feladat ellenőrzési rendszer, így ellenőrzi a rekordok száma a munka, és a találatok számát mentette vissza a munka ellenőrzési rendszer lenne bölcs lépés.

Ezen kívül, míg a bemutatja, hogyan állások lehet kiválasztani és kezelni egy SQL-lekérdezést keret akkor tényleg referáló munkád szabályozás, hogy ha úgy dönt, hogy váltani egy webes szolgáltatás, a fájl alapú rendszer, XML , vagy bármely más rendszerek száma ez nem befolyásolja a fenti kódot is.

Állás Configuration

A következő szempont annak megállapítása, feladat nagysága és konfiguráció. A játék a munkát konfiguráció tudunk teremteni egy kiváló egyensúlyt sebesség, folyamat replikáció, és a megbízhatóság. Vegyünk egy pár OFA forgatókönyvek:

  1. Foglalkoztatáshoz 1 nap minden futtatni: Ez azt jelenti, hogy a dolgozók 15 napon belül kell feldolgozni minden munkát (emlékezzünk 10%-a hatalom 2/3-a az idő). Ez nyilvánvalóan nem egy okos konfigurációt, a feladat mérete túl nagy! Lenne szükség, legalább kétszer az idő, hogy munkát kell feldolgozni az első munkás megy AWOL (idő, hogy vegye fel, hogy nem tért vissza következtében plusz újrafeldolgozási idő). Egy ideális ha volna legalább egy teljes munkát, egyszerűen törli a végét a hosszú tétlen időszak, így tartsa a munkahelyek ketyeg újra és a legrosszabb esetben a munka lenne, hogy két napig folyamat első eltűnik.
  2. Foglalkoztatáshoz 1 perc futtatni: Ez azt jelenti, hogy a dolgozók körülbelül 15 percet futni minden munkát. Bár ez eleinte úgy tűnik, ideális, ha szert további munka során feldolgozásra ebédidőben, kávészünetek, találkozók, stb ez a forgatókönyv teszi törzs más területein a rendszer, és bemutatja a saját problémáit. Például, először a setup / feldolgozási idő arányt fog menni egészen, ezért elveszti a rendszer hatékonyságát. A hálózat lesz állandó folyamatos munka az információkat a különböző munkások idegesítő munkatársak, akik dong a napi munkát. Te is lesz, hogy nagyobb megterhelést jelent a feladat feldolgozását kiszolgáló, mivel az étel ki sok-sok apró munkát rendszeresen. Végül, ebben a helyzetben, ha a munkád szerver leáll fogsz létrehozni egy hatalmas hátsó napló befejezetlen munka míg nagyobb munkahely folyamatos feldolgozás szerencsére nincsenek tudatában, hogy a munka szerver nehézségekkel.

A valóságban nem lesz egy ideális konfiguráció a hálózat beállítása, sok múlik a rendelkezésre álló források típusú munka, munka átfutási idő követelmények, a hálózati képességek, és így tovább. Azonban néhány iránymutatást a következő lenne:

  • Méret munkahelyet úgy, hogy minden munkavállaló kap a legalább 3-4 munkahely egy olyan időszakban, 15 óra (a leghosszabb várható készenléti időszak)
  • Játssz a feladat méretének úgy, hogy a beállítási idő lesz elég jelentéktelen, mint a feldolgozási idő (figyelembe véve a fenti pont).
  • Ha a munka nem teljes, kétszer annyi idő (talán kisebb), akkor elvárható, hogy kiegészíti azt feltételezni, hogy az elmúlt AWOL és elkezd feldolgozó másik munkás. Ez azt jelenti, lehet, hogy várni akár háromszor a szokásos ideje a feladatot, hogy a teljes (esetleg hosszabb ideig, ha a következő feladat sikertelen). Érdemes lehet csökkenteni ebben az időben, de vigyázzon, hogy ne csökkenjen túl nagy, mivel lehet kezdeni kétszeres feldolgozási feladatokat rendszeresen.
  • Jobs függetlennek kell lennie a külső követelmények a lehető legnagyobb mértékben. A munka szerver, például, csak a kapcsolatot elején és végén minden munkát.
  • Ne telített a hálózat, ez két negatív hatásai, a nappali személyzet fogja találni a hálózat használatáról és az idegesítő problémákat is tapasztalt kapcsolat időtúllépés a probléma, hogy csak rosszabb lesz, mint te skála a rács.
  • Biztosítani feladatok futtathatók a munkavállalókat. Ha munkahelyet túl memória igényes vagy lemezterület intenzív munkahely indul megszakítása és az egyetlen dolog, észre fogod venni, van egy csepp a munkahelyek száma feldolgozott nincs igazi oka.

Benyújtása eredményei a Job

Benyújtásakor eredményeit munka fontos ellenőrizni, hogy eredményeket nem nyújtották be másik munkavállalót, különösen, ha a jelenlegi munkavállaló szunnyadó egy ideje.

Ha az eredmények be arról, hogy a találatok számát megegyezik a rekordok száma a munkát.

Mint azt korábban jeleztük, és nem lehet eléggé hangsúlyozni, építeni a hibatűrés a munkát visszakeresése és az eredmények benyújtását. A munkavállalók (és valószínűleg fog), bemegy pihenő módban a legkellemetlenebb az idők, és ez kell gondoskodjanak. Emellett ismét referáló el az eredményt benyújtási segít kielégíteni a jövőbeni változások a munka ellenőrzési rendszer sokkal könnyebb kezelni.

Összefoglalás

Ebben section kerestünk, hogy milyen munkát vezérlő szerver kell tennie, és hogyan lehet egy alap rendszert hozzanak létre. Megbeszéltük, hogyan lehet letölteni a feladatot a rendszer, és hogyan lehet a legjobban beállítani munkahelyeket, hogy a legtöbbet mi az irodai hálózati rendszer. A befejezéshez, egy vagy két bekezdést az eredmények közlésekor vissza a munkát vezérlő szerver került bemutatásra.

  • A munka ellenőrzése szerver kezeli a munkahelyek és biztosítja, hogy minden szervezeti egységeinek elvégzése
  • A referáló munkád select / eredmények benyújtását meg tudjuk változtatni a technológiát a vezérlő kiszolgáló nem sok probléma
  • Állítsa be a munkahelyeket, hogy azok futnak gyorsan és hatékonyan anélkül, hogy túl nagy nyomás nehezedik a hálózati infrastruktúra, valamint megkettőzése nélkül feldolgozási feladatok rendszeresen.
  • Győződjön meg arról, hogy építsenek a hibatűrés és hiba checking be a rutin, a munkavállalók is felfüggeszthetjük, illetve folytathatjuk, és a legkellemetlenebb alkalommal. Ne felejtsd el ellenőrizni, hogy az eredmények már benyújtott egy másik munkás.

Legközelebb

A 3. rész hozunk létre a virtuális géphez, és hozzanak létre a windowsos gépek lesz tétlen munkaidőben.

Office Grid segítségével virtuális környezetben - 5. rész

A , péntek december 4, 2009 11:03

Bevezetés

Dolgozom a vállalatnál, ahol sok fut kötegelt feladatok feldolgozására millió nyilvántartást adatok minden nap, és Gondolkodtam az utóbbi időben az összes a gépeket, hogy ülnek minden egyes nap semmit sem több órán át. Nem lenne jó, ha tudnánk használni az olyan berendezést is, hogy erősítsék meg a feldolgozási teljesítmény a mi rendszerek? Ebben meg a cikkek fogom nézni a potenciális előnyei foglalkoztató iroda rács segítségével virtualizált környezetben.

A 4. rész néztük eszközök segítségével annak érdekében, hogy mi vagyunk a legfrissebb verziót a kód és az adatok forrásai, hogy a kapott eredmények mindig up-to-date a legújabb üzleti információk és a logika.

Pre-Deployment

Telepítése előtt a grid rendszert, ha van egy dolog, amit csinálni, és egy dolog, csak ez a benchmark a jelenlegi rendszer! Nem számít, mit mondani kollégákkal arról, hogy mennyi plusz munkát a rendszer fog csinálni, ha nincs számok ezt alátámasztanák a garanciák semmit. Szóval,

  • hány rekordot tudsz folyamat jelenleg? Naponta? Per Hour?
  • Mennyi ideig tart általában veszi, hogy megforduljon a munka?
  • Mennyivel nagyobb kapacitás van?

Van még további kérdése:

  • Ha a feldolgozó szerver (vagy az egyik feldolgozó szerverek) megy le, hogyan lesz ez hatással a képességek, leszel nyomorék?
  • Milyen előnyöket van remény / elvárható, hogy egy grid-rendszer?
  • Ön irodagépek képes futtatni a munkahelyek?
  • Ön (vagy tudsz munkahely alakítható), hogy ebben a stílusban futó?

Az utolsó nagy lényeg az, hogy az idő minden jelentősebb változás, mint ez. Frissítse feldolgozási kód dolgozni az új módszertan, benchmark újra. Esetleg állítsd be a feldolgozó szerver futtatni egy virtuális gépet, miután minden feldolgozás szerver csak egy másik munkavállaló (csak egy nagyon erős egy viszonylag). Hogy az új eljárást, hogy rendezze.

Deployment

A véleményem az lenne, hogy a pop az irodába egy hétvégén végre a telepítés és beállítás. Ehhez előtt két héttel a nyaralás, és hagyja, hogy más szegény fickó, hogy foglalkozik a következményekkel ... talán nem ...

Deployment egy ilyen rendszer kell lassú. Annak ellenére, hogy viszonylag egyszerűen beállítható ez a rendszer hatással lesz az egész irodai infrastruktúra (és a digitális is). Először is, kiépítése, hogy néhány gép egy időben, monitor hálózati forgalmat, hogy a munkavállaló házigazdák végre a napról-napra. Lehet, hogy változtassa meg a munkát konfiguráció válaszul az eredményeket.

Miután a rendszer telepedett néhány gép (mondjuk 10%-a irodai gépek, azaz 5) tartani hálózati forgalom figyelése és a fogadó gép performance. Következő benchmark újra, akkor most feldolgozása 33%-kal több munkahelyet, mint az első kritériumot. Ellenőrizze, ez így van, vagy, hogy te legalább ezen a stadion. Ha nem, vizsgálja, mi történik, mielőtt tovább. Ismételje meg ezt a ciklust, amíg boldogan minden irodai gép működik anélkül, hogy megöli egyedi gép teljesítményét vagy őrlése a hálózat a holtpontról.

A mindenkor tartsa teljesítményértékelés, még azután is, minden telepítések készülnek. Ellenőrizze, hogy az új kódot frissítések hatással sebességét a rendszer, ellenőrizze az összes munkavállaló jelentési és feldolgozó munkát. Lassan (nagyon lassan) növelés a munkád konfiguráció teljes mértékben kihasználja a munkavállalókat és a hálózatot.

Stop!

Mi van, ha abba akarja hagyni a munkavállalók futó valamikor? Ezek mind ott fut, regeneráló, és megpróbálja a legjobb adatok feldolgozására, mint éhes rovarok. A válasz úgy tűnik, nyilvánvaló, de érdemes hozzá csak abban az esetben, hogy figyelmen kívül hagyják. Egyszerűen szerkesztheti a feldolgozó script egy exit (0) or die () vagy más nyilatkozatot, hogy megöli a feldolgozó munkát. Egy fontos ok, hogy miért mindig megpróbálja frissíteni a legújabb feldolgozás script előtt fuss!

Bemutató rendszer

Ahhoz, hogy írni ezt meg, a rövid cikket készítettem egy kis rács bemutatni azokat a technológiákat és módszereket. Olvastam sok cikket, útmutatók, és használják a különböző eszközöket beállítás és figyelemmel kíséri, mi történik. Semmi esetre sem tettem elment és telített az egész iroda a forgalom és nem is kellett hozzáféréssel rendszeres munkatársa PC, hogy milyen gép teljesítménye befolyásolta.

Az én demonstrációs rendszer nagyon alázatos valóban. Én is a rendszeres asztali létre munkát vezérlő szerver. Ezen kellett telepíteni MySQL szerver telepítve létre, mint a mester replikáció, PHP , Â és az SVN keresztül kapcsolják össze apache (a hozzáférés munkavállalók VM).

Aztán létrehoztunk egy CentOS munkavállalót gép VirtualBox egy 6 éves Windows XP laptop. Én setup ütemezett feladatok meghatározott másolás után a VM-ra a gépet, és hagyjuk, hogy.

A virtuális gép jött létre a PHP, felforgatás, és a MySQL. Megnéztem fióktelep nevű "munkavállaló" az a dolgom vezérlő szervereket tároló, és gondoskodott arról, hogy lehet frissíteni a 'svn update ". Következő állítom be mySQL, mint egy rabszolga, és ellenőrizték, hogy adatok másolására a MySQL a munkát vezérlő szerver le a munkavállaló VM. Mindezek után állítom be a bash script és a cron.

Saját feldolgozó script alapvetően ment mentén ennek a (nagyon egyszerű dolgok):

  • Olvassa el a neve mezőbe
  • Megszámoltuk a hasonló nevek egy asztalt az adatforrás tartott a VM
  • Megszámoltuk a nevek, mint fent, de felosztása a nevet a szóköz (pl. keresztnév, középső, vezetéknév)
  • Ismételt ez a folyamat 1000-szer

Minden feladat volt kb 20 perc alatt futtatni. Egy ponton kinyitottam több példánya a munkavállaló VM a Windows laptop, és figyelte a munkahelyek ellenőrzését ki mind a munkavállalók IP-címeket. Ezen a ponton azt is megerősítette, hogy a replikáció automatikusan újraindul.

Indulás a laptop készenléti eredményezte a munkavállaló elkezd folyamat feladatokat a munkát vezérlő szerver. Amikor folytatása laptop használata volt a késedelem körülbelül 30-60 másodpercig, ez egy szép időt és a személyzet kellene arról, hogy a gép szünet rövid időre, amikor visszatér a gép. Újabb gépeket nem lehet szünet a hosszú. Az előny összegének feldolgozást végzi ezeket a gépeket során üresjárás lenne még, hogy ellensúlyozza munkatársak kelljen várni egy rövid ideig (mondjuk 1 perc) a érkezik a gép egy reggel (Én gyakran várni, hogy ez a Windows Defender frissítés kerül sor), amennyiben voltak tisztában a (hasznos idő, hogy megragad a reggeli kávét!).

Összességében úgy érzem, abban, hogy azt bizonyították technológiák lehetne használni egy ilyen rendszert. Megmutattam, hogy egy ilyen rendszer működik egy (nagyon) kis és néhány kísérletező lehet szorozni felhasználni a forrásokat az iroda gépek. Ha nem kap a pont ezt szeretném nagyon érdekelt, hogy tudja / látni, ha valaki mást csinál.

Következtetések / Értékelés

A következő lépés nyilvánvalóan az lenne, hogy tényleg kap egy valós példát, és elkezdi telepíteni a rendszer, mint ez egy olyan irodai környezetben, és meglátjuk, mi történik. Kérdezi, hogy a vállalkozás kötelezze el magát e nélkül nyomvonal lángoló társaság bizonyítani, a technológia és a hatékonyság lehet egy kicsit nehéz. Rács / elosztott számítási nagyon népszerű, bizonyos körökben, és néhány nagy alkalmazások (BIONC, SETI @ Home, Folding @ Home, stb.) Én azonban nem, meg egy kisebb méretű és egyszerű rendszert, mint ez az én keresések lehet hengerelt belül egy irodai környezetben.

Csináltam egy alapvetően ingyenes rendszer segítségével többnyire nyílt forráskódú szoftverek és eszközök állnak rendelkezésre szinte minden irodában. A technológiák alapvetően igazolták, és mutassa elvégzésére, és a várt módon működnek. Remélhetőleg már azt mutatják, hogy a nem sok munka és egy nagyon egyszerű beállítás segítségével telepíteni egy irodai grid computing rendszer, amely hatékony, olcsó, és skálázható minden időben.

Amikor a rendszer felállt és működik is szinte nincs vége az összeget a testreszabhatóság és a fejlesztések megteheti. Például a statisztikák / benchmarking könnyen ki bemutató ér egy ilyen rendszer minden nap. Új gépet lehet hozzá könnyen és gyorsan, ahogy és amikor megérkeznek a frissítések a már meglévő hardver rávilágítson a feldolgozási teljesítményt.

Remélem élvezték ezt olvasod cikksorozatot és adott Önnek elgondolkodtató, a futó irodai hálózati rendszer. A megoldás itt bemutatott nem feltétlenül minden helyzetben, de kell alkalmazkodni, hogy lehetővé teszi, hogy az adatok feldolgozása történik a saját megoldás.

Kérjük, küldjenek minden megjegyzést, korrekciót, vagy a fejlesztések és én minden tőlem telhetőt, hogy tartsa ezt a cikket frissítve mérkőzést.













Panorama Theme by Themocracy

10 online látogató jelenleg
6 vendég, 4 botoktól, 0 tag
Max. látogatók ma: 22 at 06:15 UTC
Ebben a hónapban: 23 at 24-08-2011 05:40 UTC
Ebben az évben: 130 at 28-03-2011 22:40 UTC
Minden idő: 130 at 28-03-2011 10:40 UTC