Warning: fopen(/homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/gt-cache/fi/_fi_tag_svn) [function.fopen]: failed to open stream: Disk quota exceeded in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1183

Warning: flock() expects parameter 1 to be resource, boolean given in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1184

Warning: fwrite(): supplied argument is not a valid stream resource in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1188

Warning: fclose(): supplied argument is not a valid stream resource in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1190
Evilprofessor.co.uk »SVN

Posts tagged: svn

Toimisto Grid Computing Virtual ympäristöissä - Osa 4

Kun perjantai 04 joulukuu 2009 23:59

Johdanto

Olen töissä yrityksessä, jossa voimme suorittaa useita eräajot käsittely miljoonia levyjä tietoja joka päivä, ja olen ajatellut viime aikoina kaikki koneet, istua joka päivä tekemättä mitään useita tunteja. Eikö olisi hyvä, jos voisimme käyttää näitä koneita vahvistamaan prosessointitehoa järjestelmiemme? Tämän joukon artikkeleita aion tarkastella mahdollisia hyötyjä palkata toimiston verkon avulla virtualisoituja ympäristöissä.

In osa 3 loimme virtuaalinen jenkäsittelykoneeseen ja perusti Windows-koneissa tulee idle-aikaisia ​​työntekijöitä.

Running uusin koodi

Väistämättä luomisen jälkeen työntekijät liiketoiminnan logiikka muuttuu, vikoja löytyy, nopeammin tehokkaampia koodi tuotetaan siis jättäisit työntekijät istuivat käsittelee tietoja käyttämällä vanhaa haiseva koodia . Kuinka sitten voimme varmistaa, että olemme aina käytössä uusin ja suurin versio meidän käsittelyn skriptejä?

On olemassa muutamia erittäin helppo yksinkertaisia ​​tapoja voisimme tehdä tämän temppu on kuitenkin vähentää prosessointitehoa ja verkkoliikenteen tämän saavuttamisessa. Aloitetaan yksinkertaisimmalla ratkaisuja ja parantaa sitä hitaasti muutaman toistojen.

Ensimmäinen menetelmä olisi yksinkertaisesti yhdistää työmme Control Server (via samba, FTP, tai vastaava) ja vedä alas uusimman version koodin. Ei kovin tehokas, mutta se tekee työtä. Lets improve tästä hieman, miten luomisesta rsync käsikirjoituksen ja käyttää sitä aina vaan? Vaihtoehtoisesti entä laskemisesta uusimmista käsittely komentosarjan kumoukselliseen tarkkailun koodin ensin ja sitten vain päivittämässä koodi jokaiseen run ( svn update )?

Lopulta voimme päätyä bash script (kutsutaan cron 10 minuutin välein), joka näyttää yhtä yksinkertaista kuin tämä:

  #! / Bin / sh
 jos ps ax | grep-v grep | grep php > / dev / null
 sitten
     echo "Job käsittelee parhaillaan, exit"
 muu
     echo "Työ ei ole käynnissä, käynnistä nyt"
     cd / polku / / työ / kopiointi
     svn update
     php yourJobProcessingScript.php
 fi 

Nyt voimme olla varmoja, että jokainen ajaa olemme ehdottomasti käytössä uusimmat koodia. Pyrimme varmistamaan tämän Päivitämme koodareiden joka kerta teemme aikavälillä ja vähentää verkkoliikennettä vain siirtämällä tiedoston eroja meidän verkkoon.

Minun esittelyn setup, tein juuri niin kuin yllä. Subversion on asennettu työni käsittelystä palvelimen ja olen yksinkertaisesti vetänyt viimeisin koodi "työntekijän" sivukonttori käyttää "svn update". Lisäsin myös versionumero tag minun käsittelyyn skripti, joka palautettiin tietokantaan osana tulosten tuottoa. Näin saatoin nähdä, että minun koodia päivittyy joka kerta olen kopioinut minun trunk osaksi työntekijän haara eli että olin ehdottomasti käynnissä uusin käsittelyn käsikirjoituksen.

Uusimman tiedon

Jos työsi käsittelyssä hyödynnetään tietolähteiden sitten jossain vaiheessa nämä tullaan päivitetään liian. Jos soitat tietolähteet erittäin harvoin perusta aiot hukuttaa verkon liikennettä heti kun työntekijät alkavat käynnissä tuo kaiken pysähtynyt. Omasta ratkaisu, päätin, että haluaisin siirtää minun tietolähteiden ympäriinsä minun VM.

Pidä olet hevosia sinne! Entä jos tietolähteet ovat valtavat? No tämä on todellakin kyse siitä, kuinka paljon tietoa me puhumme? Se voi olla kustannustehokkaampaa asentaa ylimääräinen suurempi kiintolevy jokaiseen koneeseen kuin ostaa lisäkäsittely palvelimelle. Tämä on kysymys budjetin ja on jopa yrityksen päättää. Se ehkä että tietolähteet ovat niin suuria, että vain mahdottomalta pitää, että tietojen määrää oman työntekijän koneissa. Tällöin mitä tekisit? No voisimme tarkastella soittaa paikalliseen tiedot palvelimelle, mutta tämä saattaa aiheuttaa ongelmia verkkoon. Tällöin verkkoon, kuten tämä voi olla epärealistista sisällyttää toimistoympäristöön. Voi myös olla, että voit tutkia vaihtoehtoisia käynnissä strategioihin, esimerkiksi vain soittamalla työntekijöiden välillä kaksikymmentä ja 6am joka ilta ja / tai kuristus tietolähteen pyyntöjä.

Liikettä Sanotaan meidän tietolähteitä määrä 100GB tietoja. No kyllä ​​se on aika vähän tietoa liikkua verkon päivityksen. Miten voimme varmistaa, että meillä on uusin kopio tiedoista tässä tapauksessa? Rsync on mahdollista, mutta henkilökohtaisesti uskon ajamalla oman uusimmat tietolähteen työsi käsittelystä palvelimen ja määrittää tämän mestari lisääntymään (ja mukavan pitkä bin log) voi olla tapa mennä:

replikointi Asettamalla kukin oman työntekijöille jopa niin orja työnohjausta palvelimen päivityksiä tietolähteisiin tulee valua alas hienosti oltava työntekijöiden ilman valtava kasvu verkon toimintaa (eli jos teet valtava tietojen päivityksen ja kaikki työntekijät potkia kerralla). Tämä on etuja rsync että et saa pitkän tauon ennen kunkin työn, kuten tietokannan päivityksistä, mysql daemon teidän työntekijä jatkuvasti päivittää tietoja, kun käsittely jatkuu.

Näin voin asettaa esittelyn palvelimelle. Voit määrittää replikoinnin seurasin oppaan MySQL päällä ( perustaminen replikointi ) ja 20 minuutissa sain inital työntekijä jäljittelyyn työnohjausta palvelimet aineisto. Kutakin ylimääräistä työntekijää replikointi asetukset ja prosessi toimi aina, kun VM oli kopioitu.

Yhteenveto

Tässä osassa artikkelissa olemme tarkastelleet, miten helppoa ja kivutonta se pitää koodimerkkien tasalla using rsync tai subverion (SVN), tehdä työtä ja vähentää verkkoliikennettä samalla time. Keskustelimme myös siitä, kuinka pitää tietolähteen tiedot ajan tasalla antamalla sen valua alas kullekin työntekijöitä. Näin me ala varmistaa, että me pysyä ansaintalogiikka ja tietoa toimistossamme verkkoon. Tulee tietenkin lukemattomia vaihtoehtoja hoitaa näitä tehtäviä, mutta tässä kaksi yksinkertaisia ​​esimerkkejä siitä, miten helppoa ratkaisua ei saada.

Seuraavalla kerralla

Vuoden viimeinen tämän sarjan osaa, osuvasti nimetty osa 5 , kerromme mielellämme käyttöön kyseisen järjestelmän. Minä tiivistää, mitä on oppinut ja mitä olen onnistunut luomaan.

Toimisto Grid Computing Virtual ympäristöissä - Osa 1

Kun perjantai 04 joulukuu 2009 23:23

Johdanto

Olen töissä yrityksessä, jossa voimme suorittaa useita eräajot käsittely miljoonia levyjä tietoja joka päivä, ja olen ajatellut viime aikoina kaikki koneet, istua joka päivä tekemättä mitään useita tunteja. Eikö olisi hyvä, jos voisimme käyttää näitä koneita vahvistamaan prosessointitehoa järjestelmiemme? Tämän joukon artikkeleita aion tarkastella mahdollisia hyötyjä palkata toimiston verkon avulla virtualisoituja ympäristöissä.

Koska PHP kehittäjä aion käyttää työkaluja, joita käytän joka päivä eli Linux, MySQL , PHP, VirtualBox ja Subversion (SVN). Kuitenkin Toivon tämän oppaan sopeutuvat muita kieliä ja tekniikoita yhtä hyvin.

Ratkaisu annan tulee hyvin perustuu löyhästi tyypin käsittelyn olimme täytyy saavuttaa mutta tämä voi olla totta läpi koko artikkeli tulen muuttaa asioita yksinkertaisuuden, tai tuottamaan mielenkiintoisempia käyttötilanteissa.

Nämä virtualisoitua ympäristöt toimivat Windows-koneilla, koska tämä on mitä suurin toimistojen juosta. Käsittely että konttorikoneiden eivät saisi häiritä toimihenkilöiden näitä koneita, pitäisi vaadi huoltoa kone, ja helposti käyttöönotettavia uusia koneita kun ne tulevat saataville. Myös uusia virtuaalikoneita ei vaadi mitään lisäasetuksia, koska tämä vähentää huomattavasti skaalautuvuutta ja helppous, jolla verkkoon voidaan laajentaa.

Miksi käyttöönotto Office Computing Grid?

Ensinnäkin voi olla ajattelematta, miksi ei vain käyttää cloud computing resursseja, kuten Amazon EC2 foorumi ? Hyvin syistä voi olla useita, esimerkiksi:

  • Et antaa tiettyjä tietoja cloud computing ympäristö
  • Et voi laittaa tietyt tiedot cloud computing ympäristön oikeudellisista syistä (esim. tiedot lähtevät maasta), mahdollisesti oikeudellisista syistä, kuten NHS kirjaa.
  • Haluat säilyttää käsittely yksiköissä lähellä ja täysin hallita laitteisto liian
  • Sinulla ei ole hankerahoista ajaa pilvi tapauksissa
  • Toimistossasi ei ole yhteyttä Internetiin, ja siksi se ei ole mahdollista käyttää pilvi voimavara
  • Et pidä sadetta, pilvet viittaavat sadetta, joten sinun pitää hyvin poissa

Olen varma, lista voisi jatkua, mutta mielestäni se riittää nyt.

Edut Office Computing Grid

No, antaa tehdä joitakin matematiikka (ja aidon fysiikan tyyliin antaa tehdä joitakin laajoja oletuksia). Kuvittele on iso lihaksikas käsittely palvelin käyttää 100 työpaikkaa päivässä. Teidän toimiston sinulla on 50 koneita, jotka ovat lepotilassa 16 tuntia päivässä, jokainen näistä koneista on 10% niin voimakas kuin teidän lihaksikas käsittelyn katkaista. (Kaikki tulokset täällä pyöristetty aliarvioida enemmän tehoa).

Joten, 1 kone * 10% teho * 2/3 kertaa = 0,067 eli 1 työpöydän käsittely tyhjäkäyntiin voisi käsitellä 6 täyttä tehtävää päivässä.

Jos nyt skaalata tästä ylöspäin kestää 15 idle pöytäkoneet käsitellä mahdollisimman monta tehtävää päivässä pääasiakirjana käsittelyn palvelin tekee.

Joten meidän teeskennellä toimistossa 50 konetta voisimme kasvattaa prosessoritehoa alkaen 1 palvelin jopa 4 täyttä käsittelyyn palvelimia, tai voisimme käsitellä 400 työpaikkaa päivässä sijasta 100.

Huomaa, ilman investointeja uusiin laitteisto yrityksenne on juuri lisännyt erän jalostuskapasiteettia 4 kertaa! Mahdollisesti aiot lisätä virrankulutusta, mutta useimmissa toimistoissa olen ollut koneita yleensä jää yöksi tapauksessa, jotta voisit nähdä tämä vihreä aloite.

Muita etuja myös sitä, että investoinnit uuteen (tai päivitetty) käsittely palvelimia voi viivästyä, jos toimiston koneet ovat riittävät ja että voit parantaa voimaa oman toimiston koneiden toimiston verkkoon voimistuu automaattisesti.

Technologies

Mitä tarvitset? (Tai oikeammin mitä käytin):

  • Idle toimistolaitteet (minun tapauksessani vara vanha Windows XP laptop)
  • VirtualBox (tai muun virtualisoinnista client-ohjelmisto)
  • Virtuaalikoneen PHP, mySQL running käynnissä leikata alas OS, soitan nämä minun Limp palvelimet :)
  • Työpaikat juosta
  • Job palvelin (voi olla toinen virtuaalikoneen jonnekin)

Tyypillisiä Työpaikat

Erilaisia ​​töitä, että tämä järjestelmä on suunniteltu toimimaan on seuraava:

  • Järjestelmän saa luettelon tiedot, joihin meidän on vastattava ja palauttaa tulokset
  • Vastaavat on tarkistettava / haku useita (melko staattiset) tietolähteitä
  • Tulokset tietolähteistä saattaa edellyttää lisää validointi, yhdistäminen, tarkastaminen uusia tietolähteitä vastauksena tuloksia
  • Tiedot palautetaan yhteensopivat kirjaa, täysin validoitu ja käsitelty
  • Jokainen tietue sisällä työ on riippumaton muusta

Joten periaatteessa me tarkastelemme ajossa olevat työt, jotka vaativat seosta tietokanta haut ja jotkut numerotoimituksiksi, melko tyypillinen skenaarion liiketoimintaympäristössä.

Grid ratkaisut eivät ole ainoastaan ​​edullinen käsiteltäessä työpaikkoja tätä tyyppiä. Periaatteessa mikä tahansa prosessi, joka voidaan jakaa itsenäisiä yksiköitä voidaan ajaa rinnakkain. Katso tämä wikipedia esimerkkejä ja lisätietoja: Grid Computing , mutta pari tunnetuimpia esimerkkejä ovat Seti @ Home ja BIONC . On puitteita käynnissä tietojenkäsittely verkkoihin, ja nämä ovat hyvin arvoinen.

Mitä voimme saavuttaa?

Loppuun mennessä näiden artiklojen toivon mukaan käyttöönottokustannukset toimiston verkkoon ei tarvitse olla valtavan kallista ja aikaa vievää. Aion keskustella:

  • Asettaminen työn ohjausjärjestelmä, työn kokoonpano
  • Luominen asianmukainen käsittely virtuaalikone
  • How to setup järjestelmä windows koneella
  • Varmistaminen käytät uusinta koodia ja tietoja
  • Käyttöönotto ja benchmarking
  • Katse eteenpäin

Tulen rakennus (ok rakensin, niin kirjoitin tämän) esimerkkisovellus testata käsitteitä paikalliselle koneelle Windows XP ja minun "GridMachine-virtuaalikone. Työni Control Server tulee olemaan tärkein kone, joka toimii Fedora 11 .

Tämä ei mitenkään tarkoitus osoittaa täysin toimiva vankka järjestelmä, se merkitsi enemmän mielenosoituksen ja keskustella siitä, että nämä asiat voidaan saavuttaa kohtuullisen lyhyessä ajassa ja vähäisin kustannuksin. Voit vapaasti lähettää minulle kommentteja, korjauksia tai parannuksia ja teen parhaani pitää tämän artikkelin päivitetään vastaamaan.

Seuraavalla kerralla

Kun osa 2 Aloitan tarkastelemalla työn valvonta ja katsoa miten työpaikat tulisi määrittää, jotta saavutetaan mahdollisimman suuren osan käsittelyn ja samalla varmistaa, että jokainen työ on käsitelty ilman epäonnistuvat.













Panorama Theme by Themocracy

12 vierailijaa nyt
10 vierasta, 2 vastaan, 0 jäsentä
Max kävijöitä tänään: 40 klo 03:33 am UTC
Tässä kuussa: 40 at 23-05-2012 03:33 am UTC
Tänä vuonna: 69 at 27-02-2012 09:56 am UTC
Kaikki aika: 130 at 28-03-2011 22:40 UTC