Posts tagged: virtualni

Urad Grid Computing uporabo virtualnih okolij - 3. del

Z in petek 4 december 2009 11:37 pm

Predstavitev

Delam v podjetju, kjer deluje veliko delovnih mest paketno obdelavo milijone zapisov podatkov vsak dan in sem pred kratkim razmišljal o vseh naprav, ki sedijo okrog vsak dan nič ne delaš več ur. Ali ne bi bilo dobro, če bi lahko uporaba teh strojev za okrepitev procesorske moči naših sistemov? V tem sklopu člankov bom pogled na možne koristi zaposlovanja za pisarniško omrežje z uporabo virtualiziranih okolij.

V delu 2 se pogledal v službah, strežnik bo delujejo, in kako je treba delovna mesta nastavljen, da bi dosegli največjo količino obdelave, ob zagotavljanju, da je vsako delovno mesto obdelujejo obvezno.

Nastavitev delavca - ali Limp strežnik

Naslednji korak v procesu je, da vzpostavijo svoje virtualne delavcev. Za to bom uporabite namestitev CentOS z uporabo VirtualBox. Bom namestiti MySQL in PHP na strežniku, znan tudi kot šepanja (Li nux, m ySQL, P KM) Server (sem lahko to ime navzgor).

  • Namesti VirtualBox na vašem računalniku Windows (sledite povezavi)
  • Prenesite in namestite CentOS (trenutna različica 5.3) v ustvarjen virtualni stroj

Nima smisla me bo to tam je verjetno 1.000 's velikih vaj tam (ok, tukaj je ena: Ustvarjanje in Managing CentOS stvaren stroj v VirtualBox ). Pomembno je tudi omeniti Mislim, da sem poklical moj virtualni stroj GridMachine.

Kar zadeva moje izbire naročnika virtualizacije in operacijskega sistema iti ni velik prepričljiv razlog za vsako izbiro. VirtualBox je nekaj, kar uporabljam na mojem domačem računalniku in je podprt s strani treh glavnih operacijskih sistemih. Sem izbral CentOS so njegove dobre stabilen OS in ga uporabljam na svoj lasten spletni strežnik. Jaz sem velik vernik v pravih orodij za delo (čeprav sem uporabo "uporabo najhitrejši in najlažji za vas" miselnosti tukaj), tako da, če operacijski sistem X teče kodo hitreje in učinkoviteje uporabljati, da namesto :)

Pomembno je zagotoviti, da vaš VM uporablja DHCP, drugače pa je pri vsaki novi virtualni stroj, bi bilo treba posebej nastavljena, ki je nekaj, česar ne want.By uporabljate DHCP nam ni treba nastaviti nastavitve omrežja za posamezno delavcev strojev, bo DHCP roko iz IP za vas. Zato lahko kopirate svojo navidezno napravo o pisarni brez skrbi nastavitev vsakega posebej navzgor (to izboljša prilagodljivost delavcev in zmanjšuje upravo).

Proces si mora prizadevati, da se doseže bi bilo pridobiti nov stroj, fizično namestitev VirtualBox, nato pa precej razporedi virtualno podobo brez veliko drugega. Morda bi bilo pametno, da nastavite vse svoje delavce na drugem podomrežju, tako da lahko vsaj videli, koliko stroji se izvajajo. Prav tako boste morali nastaviti svoje stroje na dolgoročni zakup ali neomejeno najema DHCP.

Kako teči Jobs na delavca

To je zanimivo področje in obstaja več veljavnih metod za obdelavo delovnih mest na delavca. Tukaj bom samo razpravljali o dveh najbolj očitna:

  • Nenehno teče scenarij: scenarij, pa naj bo lupinski skript, ali PHP skripta se izvede enkrat na delavca in poteka kot del neskončne zanke. Sem diskontirajo to metodo kot eno nesreči scenarij in morda se bodo vaši delavci, preneha teči, ne da bi neke vrste intervencije.
  • Cron skript temelji izvedba: Vsakih X minut cron daemon začenja klic na svoj scenarij, da bi dobili stvari dogaja. Brez neke preverjanju lahko pride do veliko veliko kopij vašega teka delavcev scenarij.

Moja odločitev je bila, da gredo z cron, ki začenja skripte ukaznih lupin vsakih 10 minutes. Moj shell skript opravlja naslednje naloge:

  1. Get proces seznam in grep to za 'php'. Če ni mogoče najti nato nadaljujte.
  2. Pokličite svojega delovnega mesta kodo, v mojem primeru bi bilo to nekaj, kar temelji PHP
  3. Delavec skript konča svoje teči
  4. Pripravljen še enkrat iti na naslednji ustrezni razpis

Moj bash skripta izgleda nekako naslednje:

  #! / Bin / sh
 če ps ax | grep-v grep | grep php> / dev / null
 Nato
     echo "Job trenutno obdelave, izhoda"
 drugega
     echo "Job se ne izvaja, začeti zdaj"
     php yourJobProcessingScript.php
 povezava 

Opomba: echo, so skoraj popolnoma nesmiselno, lahko pa pomaga naslednjo osebo, ki pride skupaj, da bi poskušali urediti in jih.

, Ki zaključuje niz sestavljen iz delavcev virtualni stroj, hitro, preprosto in enostavno kopiranje za vsak nov kos strojne opreme, ki je prejel. Je "spretnost" od omrežij, res ni v prikazanim OS, svoje vse storiti z oznako ustvarila za obdelavo delovnih mest, dela konfiguracijo, in pri zagotavljanju, da delo poteka po potrebi (to je, ko je gostitelj prostem teku ).

Nastavitev sistema Windows za inicializacijo Delavci

Prva naloga je izdelati ukaz, potrebne za zagon virtualnega stroja iz ukazni vrstici okna. Če ste namestili VirtualBox v privzetem mestu in ste poimenovali svoj ​​delavcev GridMachine nato ukaz preračunavanja vaš delavec je:

  "C: \ Program Files \ ne \ VirtualBox \ VBoxManage.exe" startvm GridMachine 

Kljub temu, da zaženete skript v 'Bezglav To stanje moramo uporabiti:

  "C: \ Program Files \ ne \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = off 

To se bo začelo stvaren stroj brez GUI in pustite, da shranite stanje elegantno. Drugi argument izklopi PRP, zato ni v nasprotju z Windows PRP, ali vam sporočilo o posluša na vratih 3389. Navidezni stroj je ime velike in male črke!

Nato bomo morali nastaviti okna do začelo naše delavcev VM, potem ko je bil stroj miruje. Če želite to narediti (na operacijskem sistemu Windows XP), boste morali iti na Start -> Vsi programi -> Pripomočki -> Sistemska orodja -> načrtovanje opravil, kot spodaj:

redne naloge

Nato kliknite na "Dodaj redne naloge" sledi brskanje dodati program po meri. Navigacijo do VBoxManage scenarij in kliknite ok. Urnik opravilo za katero od možnosti (da bomo to spremenili v minuti) in še naprej. Po preskoči naslednji zaslon bo windows vas, ki želite zagnati to nalogo, bi jaz predlagam bodisi "upravitelj" ali z ustvarjanjem novih privilegiran uporabnika. Zapomnite si ne želimo posegati v standardni račun zaposlenih na stroju na kateri koli točki. Kliknite naprej in preverite kažejo napredne možnosti za to nalogo.

Do konca delovanja učbenik dodati svoj ​​niz 'startvm GridMachine' in zagotoviti, da se teči šele, ko prijavljeni ostane unticked. Obiščite urnik nalogo naslednji in spremeniti urnik spustite do možnosti ', ko miruje ", izberite količino časa, ki ga želite stroj v praznem teku pred prehodom na naslednjo kartico.

Končno untick možnost, ki pravi, ustavi nalogo, če poteka že X časa, vendar pa označite možnost, da ustavi nalogo, če naprava ni več prostega teka.

urnik

To je bilo takrat za nastavitev gostitelja oken!

Povzetek

V tem delu smo vzpostavili virtualni stroj, ki deluje kot delavec, kot tudi način, kako ga imenujemo in izvajanje naše skripte processing delovnih mest (za sebe scenarij PHP). Od tu bomo ogledali, kako vzpostaviti svoje kopije operacijskega sistema Windows za zagon navideznega stroja v Bezglav načinu, ko je računalnik postane nedejaven in shranite svoje stanje, ko uporabnik začne ponovno uporabo stroja. Upajmo, da na tej točki ste videli, kako enostavno je vzpostaviti tak sistem in so srbenje, da se nekateri poskusi si bomo!

Naslednjič

V delu 4, bomo morali iskati za uporabo orodja za zagotovitev, da imate nameščen najnovejšo različico virov kode in podatkov, tako da dobljeni rezultati so vedno up-to-date z najnovejšimi poslovnih informacij in logiko.

Urad Grid Computing uporabo virtualnih okolij - 1. del

Z in petek 4 december 2009 11:23 pm

Predstavitev

Delam v podjetju, kjer deluje veliko delovnih mest paketno obdelavo milijone zapisov podatkov vsak dan in sem pred kratkim razmišljal o vseh naprav, ki sedijo okrog vsak dan nič ne delaš več ur. Ali ne bi bilo dobro, če bi lahko uporaba teh strojev za okrepitev procesorske moči naših sistemov? V tem sklopu člankov bom pogled na možne koristi zaposlovanja za pisarniško omrežje z uporabo virtualiziranih okolij.

Kot PHP razvijalec bom uporabljati orodja, ki sem se uporabljajo vsak dan in sicer, Linux, MySQL , PHP, VirtualBox in rušenja (SVN). Vendar upam, da bo ta vodnik prilagajanje drugih jezikov in tehnologij, prav tako dobro.

Rešitev sem zagotovila, bodo zelo ohlapno temelji na vrsti predelave sva morali pa bi to dosegli, ne more biti res, skozi celoten članek kot boste lahko spremenim stvari, zaradi enostavnosti, ali pa za izdelavo bolj zanimivih scenarijev uporabe.

Ti virtualiziranih okolij bo potekal na strojih okna, saj je to tisto, kar večina pisarn teči. Pri obdelavi, da so pisarniški stroji ne sme posegati v zaposlenimi, ki uporabljajo te stroje je treba ne potrebujejo vzdrževanja na stroju, in da je lahko premestljive za nove naprave, ko so na voljo. Prav tako nove virtualne stroje, ne sme zahtevati dodatne nastavitve, kot je to v veliki meri zmanjšuje razširljivost in enostavnost pri kateri se lahko podaljša omrežji.

Zakaj Uvajanje Urad Computing Grid?

Najprej boste morda mislil, zakaj ne šele raba virov cloud computing kot EC2 platforme Amazon ? Dobro bi bilo več razlogov, na primer:

  • Ne boste zaupali določene podatke v okolju cloud computing
  • Ne, ne moreš postaviti določene podatke v okolju cloud computing iz pravnih razlogov (npr. podatki izstopu iz države), lahko iz pravnih razlogov, npr NZS evidenc.
  • Želite, da bodo vaši procesnih enot blizu in imajo popoln nadzor nad strojno opremo preveč
  • Nimate projektnih sredstev za zagon oblaku primere
  • Vaš urad nima povezave z internetom, zato njeno ni mogoče uporabiti oblak vira
  • Vam ni všeč, dež, oblaki kažejo, dež, zato se boste držali daleč

Prepričan sem, da se seznam lahko še naprej, vendar mislim, da je dovolj za zdaj.

Prednosti za mrežo Urad Computing

No, vam še nekaj matematike (in v pravem slogu fizike omogoča še nekaj osupljivih predpostavke). Predstavljajte si, da imate veliko Debel obdelavo strežniku 100 delovnih mest na dan. V pisarni imate 50 stroje, ki so idle 16 ur na dan, vsak od teh naprav je 10% tako močan kot je vaš Debel Sever obdelavo. (Vsi rezultati tukaj so zaokrožene na podcenjevati učinkovitosti povečanje).

Torej, 1 stroj * 10% moči * 2/3 čas = 0,067 tj. 1 namizni obdelava v stanju času uspelo obdelati 6 zvrhanih opravil na dan.

Če zdaj to gor lestvici traja 15 idle namiznih računalnikov za obdelavo, kot je veliko delovnih mest na dan, kot je vaš glavni strežnik za predelavo ne.

Torej, v naši pisarni pretvarja, 50 strojev, bi lahko povečali našo procesorske moči od 1 do 4 strežnika polnih strežnikov za predelavo, ali pa bi se obdelavo 400 delovnih mest na dan namesto 100.

Obvestilo, brez vlaganja v novo strojno opremo je vaše podjetje le povečala svojo paketno obdelavo zmogljivosti 4-krat! Potencialno boste povečali svojo porabo energije, ampak v večini okolij pisarniških sem bil, da stroji, so na splošno na levo čez noč nekako, tako da boste lahko videli, da je to pobuda za okolju prijazne.

Druge prednosti pomeni tudi, da vlaganje v nove (ali posodobljene) obdelavo strežniki se lahko odloži, če vaš pisarniški stroji zadoščajo in da, kot ste izboljšali moč vaših pisarniških strojev vaš urad mreža postane močnejši samodejno.

Tehnologije

Kaj potrebujete? (Ali več pravilno kaj uporabljam):

  • Idle pisarniški stroji (v mojem primeru rezervno stari Windows XP laptop)
  • VirtualBox (ali drugo stranko virtualizacija programske opreme)
  • Stvaren stroj s PHP, MySQL running teče posekali OS, Kličem te moje Limp strežnikih :)
  • Delovna mesta za zagon
  • Job strežnik (lahko drug navidezni stroj nekje)

Tipična delovna mesta

Vrste delovnih mest, da se ta sistem, namenjenih za zagon je, kot sledi:

  • Sistem prejme seznam podatkov, na katerih moramo prilagoditi in se vrniti rezultate
  • Usklajevanje vključuje preverjanje / iskanje več (dokaj statična) virov podatkov
  • Rezultati virov podatkov lahko zahtevajo dodatno potrditev, združevanje, preverjanje dodatnih virov podatkov kot odziv na rezultate
  • Podatki se vrne s ustrezajo evidence, v celoti potrjeni in obdelujejo
  • Vsak zapis v službo je neodvisen od ostalih

Torej v bistvu smo iskali na teče delovna mesta, ki zahtevajo mešanico baze poizvedbe in nekaj številk škrtanje, ki je dokaj tipičen scenarij v poslovnem okolju.

Mrežne rešitve, ne samo koristno, za obdelavo delovnih mest te vrste. V bistvu lahko vsak proces, ki ga lahko razdelimo na samostojne enote, se vzporedno. Oglejte si ta Wikipedijo za primere in več informacij: računalniške mreže , ampak nekaj znanih primerov je SETI @ home in BIONC . Obstaja okvir za delovanje računalniških omrežij, in to so dobro vredno preučiti.

Kaj bomo dosegli?

Do konca teh členov upam pokazati, da napotitev pisarniško omrežje ni treba biti zelo draga ali dolgotrajen. Bom na njih:

  • Vzpostavitev sistema za nadzor delovnih mest, delo konfiguracija
  • Ustvarjanje primernega obdelavo stvaren stroj
  • Kako nastaviti sistem na stroju okna
  • Zagotavljanje uporabljate najnovejše kode in podatkov
  • Uvajanje in benchmarking
  • Pogled naprej

Bom stavba (ok sem zgradil, potem je to napisal), na primer uporaba preveriti zasnove na lokalnem stroju z Windows XP in na moji strani GridMachine "virtualno stroj. Moja naloga je nadzor nad strežnik bo moj glavni stroj, ki teče Fedora 11 .

To nikakor ne pomeni, da dokaže polno delovno robusten sistem, njegovo mišljeno bolj za predstavitev in razprave je razvidno, da se lahko te stvari doseči v razmeroma kratkem času in z malo stroški. Prosim, vas prosimo, da mi pošljete kakršne koli pripombe, popravke ali izboljšave in bom po svojih najboljših močeh, da bo ta članek posodobljene, da se ujemajo.

Naslednjič

In delu 2 bom začel s pogledom na sistemu za nadzor delovnih mest, in proučila, kako je treba delovna mesta nastavljen, da bi dosegli največjo količino obdelave, ob zagotavljanju, da je vsako delovno mesto obdelujejo obvezno.

Urad Grid Computing uporabo virtualnih okolij - 2. del

Z in petek 4 december 2009 11:23 pm

Predstavitev

Delam v podjetju, kjer deluje veliko delovnih mest paketno obdelavo milijone zapisov podatkov vsak dan in sem pred kratkim razmišljal o vseh naprav, ki sedijo okrog vsak dan nič ne delaš več ur. Ali ne bi bilo dobro, če bi lahko uporaba teh strojev za okrepitev procesorske moči naših sistemov? V tem sklopu člankov bom pogled na možne koristi zaposlovanja za pisarniško omrežje z uporabo virtualiziranih okolij.

V delu 1 sem dal pregled sistema in tehnologij bom uporabo kot tudi obravnavali nekaj možnih razlogov, zakaj bi si želeli ustvariti pisarniško omrežje.

Služba za nadzor

Če boste za vodenje delovnih mest, potem boste morali na nek način, da jih upravljajo. Vaša naloga nadzorni sistem (na vašem delovnem mestu strežnik), je treba res dobro premišljena, še preden poskušate zagnati pisarniško omrežje. Torej, najprej, kaj so naloge za sistem za nadzor delovnih mest:

  • Izročiti delovnih mest na zahtevo delavcev
  • Povej delavcem, kakšne vrste delovnih mest za vodenje
  • Track delovna mesta
  • Poskrbite, da se delovna mesta teči šele, ko
  • Zagotavljanje delovnih mest za delavce, podatke, ali pa vsaj jim povej, kje naj dobim

Sistem mora biti tudi razširljiv, rešitev, ki deluje za zdaj v enem primeru se lahko podaljša za zagon več vrst delovnih mest, kot so podjetja vidi vrednost v mreži rešitev. Na primer, delovna mesta pridobiti prednostne naloge, več kot eno opravilo Tip lahko obstajajo (torej več kod baze), na koncu lahko celo deluje več različnih strojev delavca, ki so optimizirane za vsako vrsto dela (čeprav to ne odmakne od To generično delavca "ideja). Vedno poskušajo, da razmišljajo o prihodnosti pri razvoju sistemov, lahko kratek čas vizija vodi k dolgoročno frustracije in večjo razvojno časa.

Job Server

Bomo nekje morali nadzirati naša delovna mesta iz, naj bo to edini sistem v vaši mreži, ki ima stalno Resource Locator, da je IP naslov, ime gostitelja, URL (z uporabo notranjega DNS), itd To je zato, ker delavci morajo vedeti, kje iskati za delovna mesta, delavci morali najti sistem za nadzor delovnih mest (ne delo nadzorni sistem našli delavce).

Naloga strežnika sama po sebi ne res zapletena naloga (v osnovni sistem tako ali tako), ki jih potrebuje za shranjevanje seznam delovnih mest, ročno iz delovnih mest, prejeli rezultate, nato pa jih shranite za kasnejše iskanje. Kako so opredeljene ti deli (kot so "roko ven delovna mesta"), je lahko zelo osnovne. Kasneje lahko razširiti sistem za vključitev uprave vmesnik za dodajanje, urejanje, brisanje, začasno delo, ampak to je izven te vaje.

Nobenega razloga ni, sploh pa, da je vaša naloga strežnik ne more biti stvaren stroj teče v vaš glavni strežnik za obdelavo, pod pogojem, da ne odteče preveč sredstev iz nje. Naloga strežnika pa ne potrebujemo visoko razpoložljivost, če zaide na petek zvečer si boš izgubil cel vikend obdelave, lahko stanejo nekaj tednov vredno časa za obdelavo (v primerjavi s vaš glavni strežnik za obdelavo samo) . Morda boste želeli, da razmisli svoje delo strežnik na obremenitve okolja za uravnotežen visoke razpoložljivosti.

Osnovna nastavitev

Osnovne nastavitve za naš strežnik delovnih mest bo sestavljen iz kaj sem pozval eno od mojih mlačni strežnikov (to je Li nux, m ySql, P KM). Koda deluje na delavce Thea bo dejansko delajo, kaj delovnih mest lahko vodijo v stiku z z delovnih zbirk nadzornega sistema. Kasneje bi lahko ustvarili spletno storitev in pravzaprav bi jih izdala delovna mesta bolj kot da bi delavci ne trdega dela sami, vendar za zdaj bomo še naprej uporabljati načelo KISS (Keep it Simple, Stupid!).

Torej, omogoča ustvarjanje tri MySQL tabel za reševanje delovnih mest. To bo `delovna mesta ',' jobRecords` in `jobResults`.

delovna mesta miza Tukaj sem z SQL Buddy veliko malo alternativa phpMyAdmin samo zato, ker njegov lažje namestiti na CentOS (na drugi strani: 10 Velika alternativa phpMyAdmin )

Ta tabela je sestavljena iz 5 preprostih področjih,

  • id: enolično identifikacijo delo
  • Ime: Bi lahko naročnik reference, ali poljubno število drugih identifikatorjev
  • Status: Moraš vedeti, kje naloga je, na, na primer
    • 0: Se ne izvaja
    • 1: Pobral
    • 2: Zaključen
  • started_by: Kdo je začel delamo? To ni povsem potrebna, vendar je lepo imeti. Želel predlagam sledenje delavce po svoji IP naslov v omrežju
  • started_at: Kdaj je delavec začel svoje delo? S sledenjem delovnih mest, ki se niso zaključile v višini X časa vemo, moramo pobrati svoje delo še enkrat in začeti predelave s strani drugega delavca. Delavci se lahko ustavite obdelavo / go offline za poljubno število razlogov, izpad električne energije, crash, omrežja izgube, itd

To je enostavno, kako bi se to lahko tabela razširi z nekaj dodatnih področjih, da omogočajo sledenje statistika, obdelava čas stolpca, kako dolgo naloga je, v nasprotju z vidite, koliko delavcev je pobral svoje delo (seveda to potrebuje, da se nagibajo k 1), delo prednostna naloga, se lahko seznam gre naprej in naprej. V bolj zapletenih scenarijev delovnih mest bi bilo mogoče določiti, koliko pomnilnika bo delavec potrebujejo dostop do (in zato uporabljajte le primerne delavcev), ali pa bi celo kakšen tip delavca zahteva.

Lets dodati nekaj delovnih mest primere:

primer delovna mesta

Naslednja tabela spet je zelo preprost za razumevanje, da so to naše delo zapisov. Te so povezane z glavno tabelo delovnih mest s kolono 'jobs_id `. Make up te tabele zelo odvisna od podatkov, ki jih morate posredovati svojim delavcem, da omogoča zelo enostaven primer, kjer imamo štiri stolpce:

  • id: ID zapisa
  • Ime: ime osebe
  • Naslov: oseba, naslov
  • jobs_id: Naloga ID, ki je ta zapis povezan

Tretja in zadnja tabela je sestavljena iz tabele rezultatov, je zelo podobno make up, kot je naš tabeli evidence in z dodatkom nekaterih stolpcev je lahko del tabele zapisov:

  • job_record_id: Povezava rezultat na delovnem mizi
  • Rezultat: Rezultat podatki

... In to je vse, kar potrebujete za nadzor delovnih mest! (Čeprav na zelo osnovni ravni) V mojem primeru sem opozoril na drugo mizo, kjer je bil sedež moji podatki za proces, vendar je to lahko prav tako enostavno ni pila, parametri za zagon simulacije kodo, kar hočete.

Izbira službo

Kot je bilo že omenjeno, bodo delavci narediti svoje delo upravljanja za nas, za zdaj, tako da vse, kar morate storiti, je res našel delo, ki potrebuje obdelavo in dobili informacije. Kako bi to naredil? No kramp naše merila za izbor delovnih mest in iščejo zaposlitev, v SQL sem storil naslednje:

  1. Bodite vsakega delovnega mesta, ki niso označena kot popolna, ampak iz našega delavca in ga ponastavi (nadomestiti __ ME__ z identifikacijsko bi najlažje je IP naslov):
      UPDATE `delovna mesta 'SET' stanje '= 0 WHERE` stanja `= 1 in` started_by' = __ ME__; 
  2. Uporaba naših merila za izbor delovnih mest, izberite delovno mesto in povedal, nadzornega sistema, da ta delavec, ki se ukvarjajo z njim:
      UPDATE `delovna mesta 'SET' stanje '= 1,` started_by' = __ ME__, `started_at '= NOW () WHERE` stanja `= 0 ali
     ('Stanje' = 1 in `started_at`> DATE_SUB (NOW (), INTERVAL X URA)) ORDER BY `id` ASC; 

    Z oprijemalne delovnih mest, ki se niso vrnili rezultate v višini X časa bomo zagotovili, da so vsa delovna mesta vodijo v primeru delavca, treskav ali gredo AWOL.

  3. Naslednja zgrabi delovnih mest podrobnosti sledi evidenc sami:
      SELECT * FROM `delovnih mest 'WHERE` started_by' = __ ME__ LIMIT 1;
     SELECT * FROM `job_records` WHERE `id` = __ JOBID__; 

Po končanem delovnem mestu smo vstavili naše rezultat evidence in označite delo kot popolna. Ne pozabite, saj lahko delovna mesta prekinitev / nadaljevanje v vsakem trenutku lahko nekaj trdnosti v vašem scenariju. Mogoče je, da je naloga prekine na polovici posodobiti sistem nadzora opravil, tako da preverjanje število zapisov v službo in število rešenih rezultatov nazaj na sistem nadzora opravil bi bil pametna poteza.

Poleg tega, medtem ko se to kaže, kako se lahko delovna mesta izbrani in vodi iz SQL poizvedb okvirja morate res abstrahiranja svoje delo nadzor, tako da če se odločite za prehod na uporabo spletnega storitev, datotečni sistem, ki temelji na XML ali katero koli drugo število sistemov, to ne bo vplivalo na kodo nad njo.

Job Nastavitve

Naslednji vidik, ki menijo, naloga velikost in konfiguracijo. Z igranjem s konfiguracijo delovnih mest lahko udari odlično razmerje med hitrostjo, procesne replikacijo in zanesljivost. Vzemite si nekaj scenarijev OFA:

  1. Delovna mesta se 1 dan vsak teči: To pomeni, da bodo vaši delavci potrebujejo 15 dni za obdelavo vsako delo (ne pozabite 10% moči za 2/3rds tistega časa). To seveda ni pametno konfiguracijo, vaša naloga je velikost tako prevelika! Zato bi potrebovali vsaj dvakrat časa, da bi dobili delo predela bi začetno delavec šel AWOL (čas, da se poberem, da je ne vrne rezultat plus ponovno predelavo čas). V idealnem želite imeti vsaj eno polno delovno mesto z lahkoto odstranjujeta koncu vsakega prostega teka dolgo, da način, kako ohraniti delovna mesta teče čez in v najslabšem primeru delo bi potrebovali dva dni, da se proces mora najprej iti manjka.
  2. Delovna mesta se 1 minuto teči: To pomeni, da bodo vaši delavci traja približno 15 minut teči vsako delo. Čeprav se to sprva zdi idealno, boste pridobili dodatno delo obdelavo v času kosila, kava odmori, sestanki, itd Ta scenarij postavlja pritisk na druga področja vašega sistema in uvaja svoje težave. Na primer, najprej vaš setup / čas obdelave razmerje bo šel desno navzdol, zato izgubljajo učinkovitost sistema. Omrežje se bo nenehno pretakanje delo informacije na različnih delavcev frustrirajuće osebja, ki so dong svoj dan na delo podnevi. Ste tudi dogaja, da se bolj obremenjuje strežnika delovnih mest za obdelavo, saj je jed iz veliko in veliko manjših kosov dela redno. Nazadnje je v tem primeru, če vaša naloga strežnik gre dol boste ustvarili ogromen dnevnik zadnji nedokončanega dela medtem ko večjih delovnih mest bi lahko v njem naprej obdelavo Blaženo vedela, da je delo strežnik je bil v težavah.

V resnici ne bo nihče idealna konfiguracija za vaše omrežje setup, veliko je odvisno od razpoložljivih sredstev, vrste delovnih mest in delovnih zahtev čas preobrat, mrežo zmogljivosti in tako naprej. Vendar pa bi nekaj smernic so:

  • Velikost delovnih mest, tako da lahko vsak delavec priti skozi vsaj 3-4 delovnih mest v roku 15 ur (najdaljša verjetno idle časovno obdobje)
  • Igrajte se z velikostjo dela, tako da nastavitev časa postane precej nepomemben v primerjavi z obdelavo času (ob upoštevanju zgoraj točko).
  • Če delo ni končano dvojno količino časa (morda manj), ki jih pričakujete, da za dokončanje je domnevati, da je njena šel AWOL in začeli z drugo obdelavo delavca. To pomeni, da boste morda morali počakati do trikrat normalno dolžino delovnega mesta za to izpolniti (lahko več, če naknadno delo ne uspe). Morda boste želeli zmanjšati ta čas, vendar bodite previdni, da se ne zmanjša preveč, saj lahko začnete podvajanja nalog za obdelavo na redni osnovi.
  • Delovna mesta morajo biti neodvisni od zunanjih zahtev, kolikor je to mogoče. Naloga strežnika, na primer, le da me kontaktirajo na začetku in koncu vsakega delovnega mesta.
  • Ne nasičena vaše omrežje, bo to imelo dve negativni učinki, bo vaše dnevne osebje našli uporabo omrežja frustrirajuće in težave se lahko pojavili pri določanju časa povezave ven problem, da bo samo še poslabšala, ko se prilagoditev spletne mreže.
  • Zagotoviti delovna mesta se lahko izvaja na vaših delavcev. Če delovnih mest preveč pomnilnika bo intenzivni ali disku intenzivnih delovnih mest začeli z zaustavitvijo in edina stvar, ki jo boste opazili, je zmanjšanje števila delovnih mest, ki se obdelujejo brez pravi razlog, zakaj.

Predložijo Rezultati Job

Ob predložitvi rezultatov delo je pomembno, da preveri, ali so rezultati niso bili predloženi drug delavec, še posebej, če je bil delavec trenutno miruje, za nekaj časa.

Ko so rezultati predloženi zagotoviti, da število rezultatov ustreza številu zapisov v službo.

Kot je navedeno prej, in ne more biti več kot je poudaril, zgraditi toleranco napak v iskanje novih delovnih mest in predložitev rezultatov. Delavci se lahko (in verjetno bo) šel v način mirovanja na najbolj neprijetno, kolikokrat in to je treba poskrbljeno za. Prav tako še enkrat abstrahiranja proč svoje rezultate predložitev bodo pomagali poskrbeti za bodoče spremembe v sistemu nadzora opravil veliko lažje reševanje.

Povzetek

V tem section smo pogledal kaj nadzor opravil strežnik mora storiti in kako priti zelo osnovni sistem, vzpostavljen. Razpravljali smo o tem, kako pridobiti opravilo iz sistema nadzora in kako najbolje oblikovati delovna mesta, da bi dobili večino naših vašega sistema pisarniškega omrežja. Do konca, je bil predstavljen odstavek ali dva na oddajo rezultate nazaj na strežnik delovnih mest nadzora.

  • Nadzor opravil strežnik upravlja delovnih mest in zagotavlja, da so zaključeni vsi delovne enote
  • Z abstrahiranja svoje delo izberite / rezultati predložitev lahko spremenimo tehnologijo nadzorni strežnik brez veliko težav
  • Nastaviti svoje delo, da se zagotovi, da so teči hitro in učinkovito, ne da bi preveč pritiska na vaše omrežne infrastrukture in brez podvajanja nalog za obdelavo na redni osnovi.
  • Prepričajte se, da si zgraditi toleranco napak in napak checking v svoje rutine, lahko delavci prekine in nadaljuje, najbolj neprijetno krat. Ne pozabite preveriti, če so rezultati že predložil drug delavec.

Naslednjič

V delu 3 se bomo ustvarili našo stvaren stroj za obdelavo in vzpostaviti naše okno stroje, da postane idle delovnim časom.

Urad računalniške mreže z uporabo virtualne okolja - 5. del

Z in petek 4 december 2009 11:03 pm

Predstavitev

Delam v podjetju, kjer deluje veliko delovnih mest paketno obdelavo milijone zapisov podatkov vsak dan in sem pred kratkim razmišljal o vseh naprav, ki sedijo okrog vsak dan nič ne delaš več ur. Ali ne bi bilo dobro, če bi lahko uporaba teh strojev za okrepitev procesorske moči naših sistemov? V tem sklopu člankov bom pogled na možne koristi zaposlovanja za pisarniško omrežje z uporabo virtualiziranih okolij.

V delu 4, smo preučevali uporabo orodij za zagotovitev, da smo nameščeno najnovejšo različico virov kode in podatkov, tako da dobljeni rezultati so vedno up-to-date z najnovejšimi poslovnih informacij in logiko.

Pre-Deployment

Pred namestitvijo svojega omrežja sistem, če obstaja ena stvar, ki jo storite, in ena stvar, sam to je merilo vaš trenutni sistem! Ni važno, kaj poveste kolege o tem, koliko dodatno delo, vaš sistem bo naredil, če imate številke bi to potrdili vaše jamstev niso nič. Torej,

  • Koliko zapisov lahko obdelali trenutno? Na dan? Na uro?
  • Koliko časa običajno traja, da se obrnil službo?
  • Koliko več zmogljivosti imate?

Tam je tudi dodatna vprašanja:

  • Če je vaš strežnik za obdelavo (ali eden od vaših strežnikov za predelavo) gre dol, kako bo to vplivalo na vaše sposobnosti, vam bo invalid?
  • Kakšne prednosti vam upam / pričakujem, da bi dobili od omrežnega sistema?
  • So vaši pisarniški stroji pogon delovnih mest?
  • Ali vaš (ali pa ste lahko pretvori delovnih mest), da wrok v tem slogu vodenja?

Zadnji večji Bistvo je, da si vzemite čas za večje spremembe, kot je ta. Posodobite obdelavo kodo za delo z novo metodologijo, ki merilo znova. Mogoče nastaviti za obdelavo strežnik teči virtualni stroj, po vsem strežniku obdelave bo samo še en delavec (samo zelo močna 1 relativno). Pustimo, da se nov postopek za poravnavo.

Deployment

Moj predlog bi bil pop v pisarni enega tedna izvajanje vseh naprav in nastavitev. Ali to tik pred počitnicami štirinajstih dneh in pustite, da drugi revni chap za reševanje posledic ... morda pa tudi ne ...

Uvajanje sistem, kot je ta mora biti počasen. Kljub temu, da bi bilo razmeroma preprosto vzpostavitev tega sistema bo vplivala na vaše celotno infrastrukturo urada (tudi digitalni 1). Prvič, razvaljamo na nekaj strojev v času, monitor omrežnega prometa, kako se delavec gostitelji opravljajo na dan za dnem. Morda boste morali spremeniti svoje delo konfiguracijo kot odgovor na vaše ugotovitve.

Ko je sistem rešiti z nekaj strojev (recimo 10% vseh pisarniških strojev, tj 5) vodi za spremljanje prometa omrežja in gostiteljski stroj performance. Naslednja merilo še enkrat, bi morali sedaj predelavo 33% več delovnih mest kot vaših prvih meril. Preverite, to je tako, ali da ste vsaj v tem Športni teren. Če ne, raziskati, kaj se dogaja pred prehodom na. Ponovite ta cikel, dokler ne boste z veseljem vsi pisarniški stroji teče brez ubijanja individualno stroja ali mletje omrežje do zastoja.

Ves čas vodi primerjalno analizo, tudi po tem, ko so na vseh uvajalnih. Preverite, kako nove posodobitve koda vpliva na hitrost vašega sistema, preverite, ali so vsi delavci v poročanje in obdelavo delovnih mest. Počasi (zelo počasi), prirastek svoje delo konfiguracijo, da bi dobili najboljše iz vaših delavcev in mreže.

Stop!

Kaj pa, če želite ustaviti svoje delavce iz teče nekaj časa? Vsi so tam teče regeneracijo, in poskuša po svojih najboljših močeh za obdelavo podatkov, kot so žuželke lačnih. Odgovor se morda zdi očitno, vendar je vredno dodajanjem vsak slučaj njegov spregledati. Preprosto urejanje obdelavo skript, z izhodom (0) ali die () ali kakšno drugo izjavo, da bi ubil svojo obdelavo delo. Pomemben razlog, zakaj smo vedno poskušali posodobiti na najnovejšo scenarij obdelave pred vsako vožnjo!

Prikaz sistema

Da bi napisal to zbirko kratkih člankov sem ustvarila zelo majhen mrežo dokazati tehnologije in metodologije. Prebral sem veliko člankov, vaj in se uporabljajo različna orodja za namestitev in spremljati, kaj se dogaja. Nikakor sem šel ven in nasičenih celo pisarno s prometom in tudi ne sem imel dostop do rednega PC člane osebja, da vidite, kako je vplivala gostitelj delovanje.

Moja demonstracija sistem je bil zelo skromen res. Včasih sem svojo redno namizje ustanovi kot strežnik delovnih nadzora. Na to sem namestiti mySQL strežnik nameščen ustanovljena kot mojster v replikacije, PHP , A in SVN povezana s Apache (za dostop preko VM delavcev).

Nato sem ustvaril stroj delavcev CentOS na VirtualBox na 6 let star laptop Windows XP. Jaz nastaviti predvidene naloge, kot je določeno po kopiranju VM na stroj in pustite, da gredo.

Stvaren stroj je bil ustanovljen s PHP, Subversion in MySQL. Preveril sem ven podružnico z imenom "delavec" iz mojega nadzora delovnih skladišče strežnikov in je prepričan, da bi se lahko posodobijo po ilo posodobitev ". Nato sem nastavitev mySQL kot suženj in preveri, ali podatki so bili posnemanja iz mySQL na strežniku delovnih mest za vodenje delavcu VM. Po vsem tem sem setup bash skripto in cron službo.

Moj obdelavo skript v bistvu šli po vzoru to (zelo preprosta stvar):

  • Preberite v polje Ime
  • Prešteti število podobnih imen v tabeli iz vira podatkov, ki je potekala v VM
  • Prešteti število imen, kot zgoraj, vendar razdelitev imena s presledki (npr. ime, srednja, priimek)
  • Postopek se ponovi 1000 krat

Vsako delovno mesto je približno 20 minut teči. V nekem trenutku sem odprl tudi več izvodov delavcev VM na laptop okno in opazoval delovna mesta preveriti off vsaka od naslovov IP delavcev. Na tej točki sem tudi potrdil, da replikacije samodejno ponovno zažene.

Zapusti laptop v stanje povzročilo delavca začne za obdelavo delovnih mest iz strežnika delovnih mest nadzora. Ko nadaljevanje laptop navada je prišlo do zamude približno 30-60 sekund, je to pošteno časa in osebja bi bilo treba zavedati, da je njihova naprava lahko ustavite za kratek čas, ko se vrne na stroju. Novejši stroji ne smejo imeti pavzo, dolgo tako dolgo. Korist za znesek, ki ga opravi obdelavo teh strojev v prostem teku več obdobjih, ki bi prevladali nad uslužbencem, da počaka na kratko obdobje (recimo 1 minuta) ob prihodu na svojih strojih za zjutraj (I pogosto čakati več, da je to za Windows Defender posodobiti, da poteka), če so seznanjeni s tem (koristen čas, da zgrabite jutranjo kavo!).

Na splošno sem prepričani, da sem prikazal tehnologije, ki bi jih lahko uporabili za oblikovanje takšnega sistema. I so pokazale, da tak sistem ne dela na (zelo) majhnem obsegu in z nekaj več eksperimentirati lahko povečajo uporabiti sredstva strojev urada je. Če ne dobim do te mere, to bi mi bilo zelo zanimalo, / videli, ko nekdo drug ne.

Sklepi / ocene

Naslednji korak bi bil očitno dejansko dobil pravi zgled svetu in začeti uvajanje sistema, kot je to v pisarniško okolje in videli, kaj se zgodi. Zahtevati podjetja, da se zavežejo, da to brez sled Plamen podjetje dokazati, tehnologija in učinkovitost lahko malo težko. Mreža / porazdeljeni računalniški je zelo priljubljen, je nekaj krogov in ima nekaj velikih aplikacij (BIONC, SETI @ Home, Folding @ Home, itd.) Nisem pa našli v manjšem obsegu in enostaven sistem, kot je ta v svojih iskanjih, ki bi se lahko razvalja v pisarniško okolje.

Ustvaril sem v bistvu brez sistema z uporabo odprtokodne programske opreme v glavnem in orodij na voljo v skoraj vsaki pisarni. Tehnologije so v bistvu dokazati in pokazati, da opravlja delo, in kot je bilo pričakovano. Upajmo, da imam kažejo, da z ne preveč dela in z zelo preprosto namestitev lahko se uporabi računalniške pisarno omrežja sistem, ki je močan, poceni, a in prilagodljiva vse ob istem času.

Ko sistem je začela delovati skoraj ni konec znesek prilagoditev in izboljšav, ki jih lahko dajo. Na primer, lahko statistiko / benchmarking enostavno treba dodati, ki prikazuje vrednost takega sistema vsak dan. Nove naprave se lahko doda hitro in enostavno, če in ko prispejo z nadgradnjo obstoječe strojne opreme za krepitev svoje procesorske moči.

Upam, da ste uživali branju tega serijo člankov in njegove dal snov za razmišljanje o teče sistem pisarniškega omrežja. Rešitev, predstavljena tukaj, ne bo nujno delo v vseh situacijah, vendar morajo biti prilagojeni, da vam omogočajo, da se vaš obdelava podatkov opravi s pomočjo svoje rešitve.

Prosim, vas prosimo, da mi pošljete kakršne koli pripombe, popravke ali izboljšave in bom po svojih najboljših močeh, da bo ta članek posodobljene, da se ujemajo.













Panorama Tema, ki jo Themocracy

5 obiskovalcev online zdaj
3 gostov, 2 bots, 0 članov
Največ obiskovalcev danes: 10 ob 01:30 uri UTC
Ta mesec: 26 04-04-2012 ob 10:27 pm UTC
V letošnjem letu: 69 27-02-2012 ob 09:56 uri UTC
Ves čas: 130 v 28-03-2011 10:40 pm UTC