Office Grid Computing bruke Virtual miljøer - Del 5

Ved Steven Lloyd Watkin , fredag ​​4 desember 2009 11:03

Innledning

Jeg jobber i et selskap hvor vi kjører mange batch jobber behandling millioner registreringer av data hver dag og jeg har tenkt nylig om alle maskiner som sitter rundt hver eneste dag gjør ingenting i flere timer. Ville ikke det være bra om vi kunne bruke disse maskinene til å styrke behandlingskapasiteten til våre systemer? I dette settet av artiklene jeg skal se på de potensielle fordelene av å benytte et kontor rutenett med virtualiserte miljøer.

I del 4 ser vi på bruk av verktøy for å sikre at vi kjører den nyeste versjonen av koden og datakilder, slik at oppnådde resultater er alltid up-to-date med de nyeste forretningsinformasjon og logikk.

Pre-distribusjon

Før distribusjon din bæresystem hvis det er en ting du gjør og en ting alene, det er avkastningen fra nåværende system! Uansett hva du fortelle kollegaer om hvor mye ekstra arbeid systemet kommer til å gjøre med mindre du har tall å sikkerhetskopiere dette opp garantier er ingenting. Så,

  • hvor mange poster kan du prosessen nå? Per dag? Per Hour?
  • Hvor lang tid det vanligvis tar å snu en jobb?
  • Hvor mye mer kapasitet har du?

Det er også flere spørsmål:

  • Hvis din behandling server (eller en av dine behandling servere) går ned hvordan vil dette påvirke dine evner, vil du bli forkrøplet?
  • Hvilke fordeler håper du forventer / å komme fra et rutenett?
  • Er kontormaskiner kan kjøre jobbene?
  • Er dine (eller kan du jobber konverteres) til å arbeide i denne stilen med å kjøre?

Det siste store poenget er å ta tiden på noen stor endring som dette. Oppdater behandling koden til å fungere med den nye metodikken, benchmark igjen. Muligens sette opp behandlingen server for å kjøre en virtuell maskin, etter alle dine behandling serveren vil bare være en annen arbeidstaker (bare en veldig kraftig en relativt). La nye prosessen for å avgjøre.

Distribusjon

Mitt forslag ville være å stikke innom kontoret en helg utfører alle installasjoner og oppsett. Gjør dette like før to uker ferie og forlater så andre stakkars fyren til å håndtere konsekvensene ... kanskje ikke ...

Distribusjon for et system som dette må være treg. Til tross for at det er relativt enkelt å sette opp dette systemet vil påvirke hele kontoret infrastrukturen (godt digital en). For det første, rull ut til et par maskiner om gangen, overvåke nettverkstrafikk, hvor arbeideren vertene utfører på en dag-til-dag basis. Du må kanskje endre jobben din konfigurasjonen som svar på funnene dine.

Når systemet har gjort opp med et par maskiner (kan si 10% av alle kontormaskiner, dvs. 5) holde overvåking nettverkstrafikk og vertsmaskinen performance. Neste benchmark igjen, bør du nå skal behandle 33% flere arbeidsplasser enn den første benchmarks. Sjekk dette er slik, eller at du er i alle fall i denne ballpark. Hvis ikke, undersøke hva som skjer før du går videre. Gjenta denne syklusen til du lykkelig alle kontormaskiner som kjører uten å drepe enkelte maskinens ytelse eller sliping nettverket ditt til en stillstand.

Til enhver tid holde benchmarking, selv etter all distribusjon er gjort. Sjekk hvor ny kode oppdateringer påvirker hastigheten på systemet ditt, sjekke alle arbeidstakere rapporterer i og bearbeiding jobber. Sakte (svært sakte) tilvekst jobben konfigurasjonen for å få det beste fra arbeidere og nettverket.

Stopp!

Hva om du ønsker å stoppe arbeidere fra å kjøre på en gang? De er alle der ute som kjører, regenererende, og prøver sitt beste for å behandle data som sultne insekter. Svaret kan synes opplagt, men det er verdt å legge i tilfelle den oversett. Bare redigere behandling script med en utgang (0) or die () eller noen andre utsagn å drepe behandling jobben. En viktig grunn til at vi alltid prøver å oppdatere til den nyeste behandlingen skriptet før noen kjører!

Demonstrasjon System

For å skrive dette settet med korte artikler jeg laget et veldig lite rutenett å demonstrere teknologi og metoder. Jeg leste masse artikler, veiledninger, og brukt ulike verktøy for å sette opp og overvåke hva som foregikk. På ingen måte har jeg gått ut og mettet en hel kontor med trafikk og heller har jeg hatt tilgang til en fast stab medlemmene PC for å se hvordan verten resultatene ble påvirket.

Min demonstrasjon systemet var svært ydmyk faktisk. Jeg brukte min vanlige desktop satt opp som en jobb-kontroll server. På denne hadde jeg installert mySQL server installert satt opp som en mester i replikering, PHP Â og SVN knyttet sammen, gjennom Apache (for tilgang via arbeidstaker VM).

Jeg så laget en CentOS arbeidstaker maskin på VirtualBox på en 6 år gamle vinduer XP laptop. Jeg setup planlagte oppgaver som spesifisert etter kopiering av VM på maskinen og la det gå.

Den virtuelle maskinen ble satt opp med PHP, Subversion, og mySQL. Jeg sjekket ut en gren som heter "arbeidstaker" fra jobben min kontroll servere depot og gjorde at det kunne bli oppdatert ved hjelp av 'svn update'. Neste Jeg setup mySQL som en slave og sjekket at data ble replikere fra mySQL på jobben kontrollen serveren ned til arbeideren VM. Etter alt dette jeg oppsett av bash script og cron jobben.

Min behandling script utgangspunktet gikk i retning av denne (veldig enkle ting):

  • Les i navnefeltet
  • Telles antall lignende navn i en tabell fra datakilden holdt på VM
  • Telte antall navn som over, men å splitte navn med mellomrom (dvs. fornavn, mellomnavn, etternavn)
  • Gjentatte denne prosessen 1000 ganger

Hver jobben tok ca 20 minutter å kjøre. På et tidspunkt åpnet jeg flere eksemplarer av arbeideren VM på vinduene bærbar PC og så på arbeidsplasser kontrolleres av ved hver av arbeidstaker IP-adresser. På dette punktet jeg også bekreftet at replikering automatisk startet på nytt.

Forlater laptop på tomgang resulterte i en arbeidstaker begynner å behandle jobber fra jobben kontrollen serveren. Når du gjenopptar laptop-bruk var det en forsinkelse på ca 30-60 sekunder, er dette en god del tid og ansatte trenger å bli gjort oppmerksom på at maskinen kan pause for en kort stund når tilbake til maskinen. Nyere maskiner kan ikke ha en pause på denne lange. Fordelen med mengden av behandlingen utføres av disse maskinene i idle perioder ville mer som oppveier ansatte å måtte vente en kort periode (si 1 minutt) på å komme fram til maskinene sine av en morgen (jeg ofte vente lenger på at dette for en Windows Defender Oppdateringen skal finne sted) forutsatt at de ble gjort oppmerksom på dette (nyttig tid til å ta en morgenkaffe!).

Samlet Jeg føler meg trygg på at jeg har vist de teknologiene som kan brukes til å lage et slikt system. Jeg har vist at et slikt system fungerer på en (veldig) liten skala, og med litt mer eksperimentering kunne skaleres opp utnytte ressursene i en kontorets maskiner. Hvis jeg ikke får til poenget med å gjøre dette ville jeg være veldig interessert i å vite / se når noen andre gjør.

Konklusjoner / Evaluering

Den neste opplagte steget ville være å faktisk få en reell verden eksempel og begynne å distribuere et system som dette i et kontorlandskap og se hva som skjer. Å be en virksomhet å forplikte seg til dette uten en sti flammende selskap å bevise teknologi og effektiviteten kan være litt vanskelig. Grid / Distribuert databehandling er svært populært er enkelte kretser og har noen store programmer (BIONC, SETI @ Home, Folding @ Home, etc). Jeg gjorde imidlertid ikke finne en mindre skala og enkelt system som dette i søkene mine som kunne rulles ut i et kontormiljø.

Jeg opprettet en i utgangspunktet fritt system hovedsakelig ved hjelp av åpen kildekode programvare og verktøy tilgjengelig i nesten alle kontor. Teknologiene var i utgangspunktet vist og viser til å utføre og arbeide som forventet. Forhåpentligvis har jeg vise at med ikke mye arbeid og med en veldig enkel oppsett kan du distribuere et kontor grid computing system som er kraftig, billig, Â og skalerbar alle på samme tid.

Når et system er oppe og går er det nesten ingen ende på hvor mye tilpassing og forbedringer du kan gjøre. For eksempel statistikk / benchmarking kan enkelt legges viser verdien av et slikt system hver dag. Nye maskiner kan legges raskt og enkelt som, og når de kommer med oppgraderinger til eksisterende maskinvare styrke din prosessorkraft.

Jeg håper du har likt å lese denne serien med artikler og gitt deg mat for tanken på å drive et kontor rutenett. Løsningen som presenteres her vil ikke nødvendigvis fungere i alle situasjoner, men bør kunne tilpasses slik at du kan få databehandling gjort ved hjelp av din egen løsning.

Kan du gjerne sende meg noen kommentarer, rettelser, eller forbedringer og jeg skal gjøre mitt beste for å holde denne artikkelen oppdatert for å matche.

3 Svar å "Office Grid Computing bruke Virtual miljøer - Del 5"

  1. [...] Den siste delen av denne serien, treffende navn Del 5, vil vi diskutere distribusjon av dette systemet for. Jeg skal oppsummere hva som har blitt lært og [...]

  2. Howdy der, Flott artikkel dude! Jeg er lei av å bruke RSS-feeds og bruker du twitter så jeg kan følge deg der:? D.
    PS: Har du vurdert å sette videoen på bloggen din til å holde leserne mer likte jeg tror det fungerer, Roland Gorychka?.

  3. Se twitter på høyre side av hver side. Takk!

Legg igjen en kommentar













Panorama Theme av Themocracy

8 besøkende online nå
4 gjester, 4 boter, 0 medlemmer
Maks besøkende i dag: 8 kl 12:08 UTC
Denne måneden: 26 på 07-05-2011 12:35 UTC
I år: 130 på 28-03-2011 22:40 UTC
All time: 130 på 28-03-2011 10:40 UTC