Ametikohad tagged: Linux

Office Grid Computing kasutades virtuaalses keskkonnas - Osa 4

Autor , reede 4. detsember 2009 11:59

Sissejuhatus

Töötan ettevõttes, kus võtame palju partii töökohti töötlemise miljoneid plaate andmete iga päev ja ma olen mõelnud viimasel ajal umbes kõik masinad mis istuvad iga päev midagi mitu tundi. Kas poleks hea, kui saaksime kasutada neid masinaid toetada töötlemise võimsus on meie süsteemi? Selle komplekti esemete ma lähen vaatama potentsiaalsete tulude tööd kontoris võrku kasutades virtualised keskkond.

Aastal osa 3 lõime meie virtuaalne töötlemise masin ja luua aknad masinad saada idle tööajaga töötajaid.

Töötab hiljemalt kood

Paratamatult pärast luua oma töötajate äriloogika muutub, vead on leitud, kiirem tõhusam koodi valmistatakse jättes oma töötajad istusid ümber töötlevad andmeid kasutades vana haisev kood . Kuidas siis me tagada, et me alati kasutada uusimaid ja parimaid versioon meie töötlemise skriptid?

On mõned väga lihtne lihtsal viisil me võiksime seda teha, trikk on aga see, et vähendada töötlemise võimsus ja võrguliikluse selle saavutamisel. Võimaldab alustada lihtsam lahendusi ja parandada seda aeglaselt paar iteratsiooni.

1. meetod oleks lihtsalt ühendada oma töö kontrolli server (via samba, FTP, vms) ja tõmmake alla uusim versioon koodi. Mitte väga tõhus, kuid teeme tööd. Võimaldab parandada, et veidi, kuidas on luua rsync skripti ja kasutate, et iga kord mitte? Teise kuidas panna meie viimast töötlemist skripti õõnestamises end välja koodi alguses ja siis lihtsalt ajakohastades meie koodi iga run ( svn uuendus )?

Lõpuks saime lõpuks bash script (kutsutud cron iga 10 minuti järel), mis näeb välja nii lihtne kui see:

  #! / Bin / sh
 kui ps ax | grep-v grep | grep php > / dev / null
 siis
     echo "Töö on praegu menetlemise, exit"
 teine
     echo "Töö ei tööta, alusta siit"
     cd / path / to / töö / koopia
     svn uuendus
     php yourJobProcessingScript.php
 fi 

Nüüd saame olla kindlad, et iga run me kindlasti töötab uusima koodi. Me tagada see, ajakohastades meie koodi baasi iga kord me sooritame perspektiivis ning vähendada võrguliiklust ainult üle faili erinevusi meie võrku.

Minu tutvustamise setup, ma tegin täpselt nii, nagu eespool. Subversion paigaldati minu töö töötlemine server ja ma lihtsalt tõmbas viimase koodi "töötaja" filiaal kasutades "svn update '. I lisas ka versiooni number tag oma töötlemine script mis tagastati andmebaasi osa tulemustest tagasi. Nii ma näen, et minu kood oli uuendatakse iga kord, kui ma kopeeritud mu pagasiruumi arvesse töötaja filiaal st, et ma olin kindlasti töötab hiljemalt töötlemise skripti.

Kasutades uusimaid andmeid

Kui teie töö töötlemist kasutab andmeallikate siis mingil hetkel neid saab ajakohastada ka. Kui helistate oma allikatele on väga harva alusel sa lähed üle ujutada oma võrgu liiklust kiiresti oma töötajate alata tuua kõik soiku. Minu lahendus ma otsustasin, et tahaks minna minu andmeallikad ringi oma laevadele.

Hoia oled hobused seal! Mida teha, kui minu andmeallikad on suured? Noh see on tõesti tegemist kui palju andmeid me räägime? See võib olla tasuv paigaldada täiendavaid suurem kõvaketas igasse masina kui osta täiendavalt töötlemine server. See on küsimus eelarve on kuni ettevõtte otsustada. See võib-olla et oma allikatele on nii suur, et selle lihtsalt võimatu hoida, et andmemaht oma töötaja masinaid. Sel juhul mida sa teeksid? Hästi võiksime vaadata helistades kohalike andmete server, aga see võib tekitada probleeme võrku. Sel juhul grid süsteem nagu see võib muutuda ebarealistlikuks lisada oma kontori keskkond. Samuti võib olla, et saate alternatiivseid töötab strateegiaid, näiteks ainult helistamise töötajate 08:00-6:00 igal õhtul ja / või vähendanud andmeallikas nõuab.

Liikudes saab öelda, meie andmeallikate summa 100GB andmeid. Noh jah see on üsna vähe andmeid, et liikuda võrgustik update. Kuidas me tagame, et meil on viimaste andmete koopia antud juhul? Rsync on võimalik, kuid mina isiklikult arvan, käivitades oma viimaseid andmeallikas oma tööd töötlemine server ja määrata käesoleva meister replikatsiooni (kena pikk bin log) võiks olla võimalus minna:

replikatsiooni Seades iga oma töötajaid üles nagu ori töö kontroll server uudiseid oma allikatele niriseb kenasti oma töötajad ilma tohutult kasvanud võrgustiku tegevuse (st kui olete läbi tohutu andmete uuendamine ja kõigi oma töötajate algama korraga). See on eeliseid rsync et te ei jääks pikk paus enne iga töö, sest andmebaasi uuendused, mysql deemon oma töötaja saab pidevalt täiendada oma andmeid, kui töötlemine jätkub.

See, kuidas ma loodud mu tutvustamistegevuse server. Luua replikatsiooni Ma järgisin juhend MySQL koha ( seadistamine replikatsiooni ) ja 20 minuti jooksul oli mul inital töötaja imitatsiooniga töö kontroll serverid andmebaasil. Iga täiendava töötaja replikatsiooni seaded ja protsessi töötas iga kord, kui VM kopeeritud.

Kokkuvõte

Selles osas artiklis vaatlesime kuidas lihtne ja valutu see on hoida oma töötlemine kood ajakohane using rsync või subverion (SVN) tööd teha ja vähendada võrguliiklust samal time. Samuti arutati, kuidas hoida oma andmeallikast andmed up-to-date, võimaldades sellel nire alla iga oma töötajaid. Seega on meil ala et me kursis äriloogika ja teavet meie kontoris võrgusüsteemi. Seal saab ilmselt lugematuid alternatiive nimetatud ülesannete täitmisel, kuid siin olid kaks lihtsat näidet, et näidata, kui lihtne lahendus saada.

Järgmine kord

Viimases osa sellest seeriast, tabavalt nimetatud osa 5 , me arutada rakendades seda süsteemi. Ma kokkuvõtteid, mida on õppinud ja mida mul õnnestus luua.

Office Grid Computing kasutades virtuaalses keskkonnas - Osa 3

Autor , reede 4. detsember 2009 23:37

Sissejuhatus

Töötan ettevõttes, kus võtame palju partii töökohti töötlemise miljoneid plaate andmete iga päev ja ma olen mõelnud viimasel ajal umbes kõik masinad mis istuvad iga päev midagi mitu tundi. Kas poleks hea, kui saaksime kasutada neid masinaid toetada töötlemise võimsus on meie süsteemi? Selle komplekti esemete ma lähen vaatama potentsiaalsete tulude tööd kontoris võrku kasutades virtualised keskkond.

Aastal osa 2 tarkastelimme töökohti server töötab ja kuidas töökohti tuleks seadistada, et saavutada suurim summa töötlemine, tagades samas, et iga töö on töödeldud ilma jätma.

Luua oma töötaja - või Limp server

Järgmine samm on luua oma virtuaalse töötajaid. Selleks ma kasutada paigaldus CentOS kasutades VirtualBox. Ma lähen installida MySQL ja PHP on server, mida tuntakse ka lonkama (Li Nux, m ySQL, P HP) Servera (I võis selle nime üles).

  • Installi VirtualBox Windowsi masin (järgida link)
  • Laadida ja installida CentOS (praegune versioon 5.3) raames loodud virtuaalne masin

Ei ole mõtet mulle läheb see seal on ilmselt 1000 on väga õpetused seal (ok, siin on üks: Loomine ja Managing CentOS virtual machine all virtualbox ). Oluline on märkida, ma arvan, et ma helistasin oma virtuaalse masina GridMachine.

Mis puutub minu valikuid virtualiseerimine klient ja operatsioonisüsteemi minna ei ole suur mõjuv põhjus iga valik. VirtualBox on midagi, mida ma kasutan on minu kodu masin ja seda toetab kolm suurt operatsioonisüsteemidest. Valisin CentOS oma hea stabiilne OS ja ma kasutan seda oma veebiserver. Ma usun õiged vahendid selleks tööks (kuigi ma kohaldamisel "kasutamine kiireim ja lihtsaim teile" mentaliteet siin), nii et kui operatsioonisüsteemi X jookseb oma koodi kiiremini ja tõhusamalt kasutada selle asemel :)

Oluline on veenduda, et teie VM kasutab DHCP, muidu iga uus virtuaalne masin oleks vaja seadistada eraldi, mis on midagi, mida me ei want.By DHCP me ei vaja seadistada võrgu seaded eraldi töötaja masinad DHCP annan läbi IP teile. Seega saate kopeerida oma virtuaalne masin umbes kontoris muretsemata, milles igaüks up (see parandab mastaapsuse ja vähendab töötaja manustamist).

Protsess sa peaksid püüdma saavutada oleks saada uued füüsilise masina install VirtualBox ja siis päris palju juurutada virtuaalset pilti ilma palju muud. Oleks mõistlik seadistada kõik oma töötajate erinevaid subnet, nii et saad vähemalt näha, kui palju masinad töötavad. Peate ka seadistada masinaid pikaajalise rendilepingu või määramata rendile DHCP.

Kuidas käivitada Jobs on töötaja

See on huvitav ala ja seal on mitu kehtivat töötlemis töökohta töötaja. Siin ma ainult arutada 2 kõige ilmsem:

  • Alatasa töötab skript: skripti, olgu see shell skript, või PHP skript käivitatakse üks kord töötaja ja jookseb osana lõpmatu silmus. Olen maha selle meetodi ühe krahhi skripti ja võib-olla oma töötajate kaotab joosta ilma mingi sekkumiseta.
  • Cron stsenaariumis täitmine: iga X minuti cron deemon avalöögi kõne oma script asjad minema. Ilma teatud kontroll võib see kaasa tuua palju palju koopiaid oma töötaja script töötab.

Minu otsus oli minna cron mis algab shelliskripti iga 10 minutes. Minu shell script täidab järgmisi ülesandeid:

  1. Saada protsesside nimekirja ja grep seda "php". Kui ei leita siis jätkata.
  2. Helista oma töö kood, minu puhul oleks see midagi PHP põhineb
  3. Töötaja script lõpetab run
  4. Valmis minema uuesti järgmisel korral kõne

Minu bash skript näeb välja umbes selline:

  #! / Bin / sh
 kui ps ax | grep-v grep | grep php> / dev / null
 siis
     echo "Töö on praegu menetlemise, exit"
 teine
     echo "Töö ei tööta, alusta siit"
     php yourJobProcessingScript.php
 fi 

Märkus: ECHO on peaaegu täiesti mõttetu, kuid võib aidata järgmise isiku, kes tuleb mööda, et proovida ja neid muuta.

See lõpeb loodud töötaja virtuaalne masin, kiire, lihtne ja kerge kopeerida iga uus seade, mis on laekunud. "Nutikust" skaala süsteem tõesti ei ole visualiseeritud OS, selle kõik pistmist kood loodud protsessi töökohti, töö konfiguratsiooni ning hoolitsedes, et töö läheb vajaduse korral (st kui peremees on idle ).

Seadistamine Windows algatamiseks Töötajad

1. ülesanne on töötada välja käsu vaja käivitada virtuaalse masina Windowsi käsurida. Kui olete installinud VirtualBox on vaikimisi asukoht ja sa oled nime oma töötaja GridMachine siis käsku vaja laadida oma töötaja on:

  "C: \ Program Files \ Pühap \ VirtualBox \ VBoxManage.exe" startvm GridMachine 

Kuid käivitada skripti "peata" riik on meil vaja kasutada:

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

See käivitab virtuaalne masin ilma GUI ja et ta saaks päästa riik nõtkelt. 2. argument kustub RDP nii see ei ole vastuolus aknad RDP või teile sõnumi kuulamine sadama 3389. Virtuaalse masina nimi on tõstutundlik!

Edasi pead määrama aknad kuni avalöögi meie töötaja VM kui masin on idle. Selleks (Windows XP) pead minema Start -> All Programs -> Accessories -> System Tools -> Scheduled Tasks alljärgnevalt:

kavandatud ülesanded

Seejärel klõpsa "Lisa ajastatud", millele järgneb sirvida lisada custom programmi. Navigeeri oma VBoxManage skript ja klikka ok. Planeerige oma ülesanne iga valikutest (me muuta seda minutis) ja jätkata. Pärast vahele järgmine ekraan windows küsib kes sa tahad teha selle ülesande, siis ma soovitan kas "Administrator" või luua uus priviligeeritud kasutaja. Pea meeles, me ei taha segada standard töötajad konto masin üheski kohas. Klõpsake nuppu Edasi ja vaadata näitavad arenenud võimalusi selle ülesande täitmiseks.

Lõppu run tekstikasti lisada meie "startvm GridMachine" string ja tagada, et run ainult sisseloginud jäetakse märkimata. Külasta ajakava ülesande kõrval ja muuta ajakava rippmenüüst valik ", kui idle", vali Aega soovite, et arvuti on idle enne liikuma järgmisele alt.

Lõpuks eemalda linnuke võimalus, mis sätestab peatada ülesanne, kui see on kestnud X aega, kuid ära märgistada võimalus lõpetada ülesanne, kui masin ei ole enam jõude.

ajakava

Ongi siis Windows host setup!

Kokkuvõte

Selles osas oleme loonud virtuaalse masina tegutseda töötaja, samuti seda, kuidas me nimetame ja täidab meie tööd töötlemine skripte (ise PHP skript). Siit me vaatame, kuidas luua oma koopiad aknad alustada virtuaalne masin peata režiimis, kui arvuti muutub tühikäik ja salvestada oma riik, kui kasutaja uuesti kasutamine masin. Loodetavasti sel hetkel näed, kui lihtne on luua selline süsteem ja on sügelus, et saaksin eksperimendid läheb ise!

Järgmine kord

Aastal Osa 4 me vaatleme, kasutades vahendeid, et tagada näed viimase versiooni kood ja andmeallikad, et saadud tulemused on alati up-to-date viimaste äriteabe ja loogika.

Office Grid Computing kasutades virtuaalses keskkonnas - Osa 1

Autor , reede 4. detsember 2009 11:23

Sissejuhatus

Töötan ettevõttes, kus võtame palju partii töökohti töötlemise miljoneid plaate andmete iga päev ja ma olen mõelnud viimasel ajal umbes kõik masinad mis istuvad iga päev midagi mitu tundi. Kas poleks hea, kui saaksime kasutada neid masinaid toetada töötlemise võimsus on meie süsteemi? Selle komplekti esemete ma lähen vaatama potentsiaalsete tulude tööd kontoris võrku kasutades virtualised keskkond.

Kuna PHP arendaja Ma lähen kasutada tööriistu, et ma kasutan iga päev nimelt, Linux, MySQL , PHP, VirtualBox ja õõnestamises (SVN). Kuid ma loodan, et see juhend kohaneda teiste keelte ja tehnoloogiate sama hästi.

Lahendus ma ette on väga lõdvalt põhineb tüüpi töötlemise olime vaja saavutada aga see ei pruugi olla tõsi, läbi terve artikkel, kui ma muudan asju lihtsuse või toota rohkem huvitavaid kasutamise stsenaariumid.

Need virtualised keskkonnas töötab Windowsi masinad sest see, mida enamik büroode jooksma. Töötlemistoimingud, mis bürooseadmed teha ei tohiks segada personali kasutades neid masinaid, peaks nõudma mingit säilitamisega masin ja kergesti käivituva uute masinate kui need muutuvad kättesaadavaks. Ka uus virtuaalne masin ei nõua täiendavaid konfiguratsiooni, kuna see vähendab oluliselt mastaapsuse ja lihtsus, kus grid süsteemi saab laiendada.

Miks Deploy Office Computing Grid?

Esiteks võite mõelda, miks mitte lihtsalt kasutada cloud computing ressurss nagu Amazon EC2 platvormi ? Noh põhjuseks võib olla mitu, näiteks:

  • Sa ei või delegeerida teatavaid andmeid cloud computing keskkond
  • Sa ei saa panna teatud andmed cloud computing keskkond juriidilistel põhjustel (nt andmete riigist lahkumist), potentsiaalselt juriidilistel põhjustel, nt NHS arvestust.
  • Mida soovite säilitada oma töötlemisüksused lähedal ja on täielik kontroll riistvara liiga
  • Sa ei pea projekti raha joosta pilv juhtumeid
  • Oma kontoris ei ole internetiühendust ja seega ei ole võimalik kasutada pilv ressurss
  • Sa ei meeldi vihm, pilved näitavad vihma, seega hoiate eemal

Olen kindel, et loetelu võiks jätkata, kuid ma arvan, et piisab nüüd.

Eelised Office Computing Grid

Noh, võimaldab teha mõningaid matemaatika (ja tõsi, füüsika stiil võimaldab teha mõned sweeping eeldused). Kujutage ette, teil on suur lihakas töötlemine serveris 100 töökohta päevas. Oma kontoris olete 50 masinad, mis on idle 16 tundi päevas, kusjuures need masinad on 10% sama võimas kui oma lihakas töötlemine Sever. (Kõik tulemused siin on ümardatud alahinnata jõudluse kasv).

Niisiis, 1 masin * 10% võimsuse * 2/3 time = 0,067, st 1 desktop töötlemiseks jõudeaeg võib töödelda 6 täis tööd päevas.

Kui te nüüd skaala selle üles võtab 15 idle lauaarvutid töödelda nii palju tööd päevas, kui teie peamine töötlemise server teeb.

Nii et meie teeselda kontoris 50 masinate saame suurendada meie töötlemise võimsus alates 1 server kuni 4 täis töötlemise serverid, või me võiks töötlemise 400 töökohta päevas asemel 100.

Teate, mitte investeeringuid uutesse riistvara firma on just tõusnud oma partii töötlemise võimsus 4 korda! Potentsiaalselt sa lähed, et suurendada oma võimu kasutamine, kuid enamik kontori keskkonnas Olen olnud masinad on üldiselt jäänud üleöö niikuinii, nii et sa ei näe seda kui roheline algatus.

Muud eelised ka tähendada, et investeeringud uutesse (või uuendatud) töötlemise serverid võib viibida, kui teie bürooseadmed on piisavad ja kui parandada õigus Teie bürooseadmed oma kontori võrku muutub võimsamaks automaatselt.

Technologies

Mida on vaja? (Või õigemini, mida ma kasutada):

  • Idle bürooseadmed (minu puhul vaba vana Windows XP laptop)
  • VirtualBox (või muu virtualiseerimine kliendi tarkvara)
  • Virtuaalne masin PHP, MySQL running töötab kärpima OS, ma helistan need minu Limp servereid :)
  • Jobs joosta
  • Töö server (võib olla teise virtuaalse masina kuhugi)

Tüüpiline Töö

Tüüpi töökohti, et see süsteem on loodud töötama on järgmine:

  • Süsteemi saab andmete loetelu, millele me peame vastama ja tagastab tulemusi
  • Kohandamine on seotud kontrollimise / otsivad mitmed (üsna staatiline) andmeallikate
  • Tulemused andmeallikate nõuda lisakontrolli, ühinevad, kontroll täiendavaid andmeallikaid vastuseks tulemusi
  • Andmed tagastatakse sobitamine andmetel täielikult valideeritud ja töödeldud
  • Iga kirje jooksul töö on sõltumatu ülejäänud

Nii et põhimõtteliselt me ​​vaatame töötab töökohti, mis nõuavad segu andmebaasis otsinguid ja mõned number krigistamine, mis on üsna tüüpiline stsenaarium ärikeskkonda.

Grid lahendused ei ole ainult kasulik töötlemine töökohti seda tüüpi. Põhimõtteliselt meetod, mille võib jagada iseseisvad saab paralleelselt. Vaadake seda wikipedia näiteid ja lisainfo: Grid Computing , kuid paar tuntud näited on Seti @ Home ja BIONC . On raamistike töötab arvuti võrkude ja need on ka väärt.

Mida me saavutada?

Aasta lõpuks neid artikleid Loodan, et näidata, et rakendades kontori võrku ei pea olema väga kallis ja aeganõudev. Ma lähen, et arutada:

  • Luua töö süsteem, töö konfiguratsiooni
  • Luua asjakohased töötlemisel virtuaalse masina
  • Kuidas setup süsteem windows masin
  • Tagada te kasutate uusimaid kood ja andmed
  • Kasutuselevõtu ja võrdlusuuringud
  • Tulevikku vaadates

Ma tulen hoone (ok ma ehitasin, siis kirjutasin selle) näiteks taotluse katsetada ideid on kohalikus masinas Windows XP ja minu "GridMachine" virtuaalne masin. Minu töö kontroll server on minu peamine masin, mis töötab Fedora 11 .

See on kuidagi demonstreerima täielikult toimiv kindel süsteem, selle tähendanud enam tutvustamist ja arutelu näitab, et need asjad on võimalik saavutada suhteliselt lühikese ajaga ja madalate kuludega. Palun saatke mulle märkusi, parandusi või parandusi ja ma teen oma parima, et hoida käesoleva artikli uuendatud sobitada.

Järgmine kord

Aastal osa 2 mul hakkab vaadates tööd kontrollisüsteemi ning uurida, kuidas tööd tuleb seadistada, et saavutada suurim summa töötlemine, tagades samas, et iga töö on töödeldud ilma jätma.

Office Grid Computing kasutades virtuaalses keskkonnas - Osa 2

Autor , reede 4. detsember 2009 11:23

Sissejuhatus

Töötan ettevõttes, kus võtame palju partii töökohti töötlemise miljoneid plaate andmete iga päev ja ma olen mõelnud viimasel ajal umbes kõik masinad mis istuvad iga päev midagi mitu tundi. Kas poleks hea, kui saaksime kasutada neid masinaid toetada töötlemise võimsus on meie süsteemi? Selle komplekti esemete ma lähen vaatama potentsiaalsete tulude tööd kontoris võrku kasutades virtualised keskkond.

Aastal Osa 1 Ma andsin ülevaate süsteemi ja tehnoloogiat ma kasutades samuti arutatakse mõned võimalikud põhjused, miks sa tahaksid luua kontori võrku.

Töö kontroll

Kui sa lähed olema töökorras töökohti, siis sa lähed vaja kuidagi neid hallata. Sinu ülesanne kontrollisüsteem (oma töökoha server) tuleb tõesti hästi läbi, enne kui proovite käivitada kontori võrku. Nii et esiteks, millised on ülesanded töö piiramise süsteem:

  • Käsi välja töökohti taotlusel töötajate
  • Teavitage töötajaid milliseid töökohti joosta
  • Track töökohta
  • Veenduge, et tööd on vaid joosta, kui
  • Pakkuda tööd andmed töötajate või vähemalt neile öelda, kust saada seda

Süsteem peab olema laiendatav lahendus, mis töötab nüüd ühes asjas võib pikendada käivitada mitut tüüpi töökohti äri näeb väärt grid lahendus. Näiteks töökohti võib saada prioriteete, rohkem kui ühe töökoha liik võib eksisteerida (st mitu koodi alused), lõpuks siis võib isegi käivitada mitmeid erinevaid töötaja masinaid, mis on optimeeritud iga tööd (seda küll eemalduda geneeriline töötaja "mõte). Püüdke mõelda tulevikus, kui süsteemide väljatöötamist, lühikese perspektiivis võib viia pikema aja pettumust ja ulatuslikumaks arendamiseks aega.

Töö Server

Meil läheb vaja kuhugi juhtida meie töökohti, peaks see olema vaid süsteem oma võrku, mis on fikseeritud Resource Locator, olgu see IP aadressi, hosti nime, URL (kasutades sisemist DNS) jne Seda seetõttu töötajad peavad teadma, kust otsida töökohta, töötajad on vaja leida tööd kontrollisüsteemi (mitte töö kontrollisüsteemi leida töötajad).

Töö server ise ei ole tõesti keeruline ülesanne (in alussüsteemi igal juhul), tuleb see salvestada nimekirja töökohti, käsi välja töökohti, saada tulemusi, ning seejärel salvestada hilisemaks taastamiseks. Kuidas nende osade (nagu näiteks "poolt välja töö") on määratletud võib olla väga lihtne. Hiljem saame laiendada süsteemi hõlmavad haldus liidest lisada, muuta, kustutada, peatada töö, kuid see on väljaspool seda kasutada.

Ei ole ühtegi põhjust siis, et teie töö server ei võiks olla virtuaalne masin töötab teie peamine töötlemise server kui see ei kulutata liiga palju ressursse saada. Töö server aga ei pea laialdase kättesaadavuse, kui ta läheb maha reede õhtul sa lähed kaotad kogu nädalavahetuse töötlemise, potentsiaalselt maksab teile paar nädalat väärtuses töötlemise ajal (võrreldes oma peamise töötlemine server üksi) . Te võiksite üles kaaluma oma tööd serveri koormus tasakaalustatud keskkonna kõrge kättesaadavus.

Basic Setup

Põhiseadistustest meie töö server koosneb sellest, mida ma helistan üks mu Limp serverid (see Li Nux, m ySql, P HP). Kood töötab Thea töötajaid tegelikult töötavad, millised tööd ta võib liikuda, suheldes koos töökoha kontrolli süsteem andmebaasidega. Hiljem saame luua veebiteenus ja tegelikult käsi välja töökohti selle asemel töötajate tegema rasket tööd ise, kuid nüüd me jätkuvalt kasutada KISS põhimõte (Hoia see Simple, Stupid!).

Nii saab luua 3 MySQL tabelid tegelema töökohti. Need on `töökohti`, `jobRecords` ja `jobResults`.

töö tabel Siin ma kasutan SQL Buddy väga vähe alternatiiv phpMyAdmin lihtsalt sellepärast, et tema lihtsam paigaldada CentOS (teiste jaoks vaata: 10 Great alternatiive phpMyAdmin )

See tabel koosneb 5 lihtsat valdkondades,

  • id: identifitseerimiseks töö
  • nimi: võiks olla kliendi viide, ega paljude teiste tunnuste
  • Status: Sa pead teadma, kui töö on, nt
    • 0: ei ole alustatud
    • 1: kiirenes
    • 2: Valmis
  • started_by: Kes alustas teed tööd? See ei ole täiesti vajalik, kuid on tore olla. Soovitan jälgida töötajate poolt nende IP aadress teie võrgus
  • started_at: Millal töötaja alustab tööd? Jälgimise tööd, mis ei ole lõpetatud X aega teame me peame seda tõstma töö taas ning alustame teise töötaja. Töötajad võivad peatada töötlemine / go offline iga mitmel põhjusel voolukatkestus, crash, võrgu kaotus jne

See on lihtne, kui see tabel võiks laiendada mõne lisaväljad võimaldada statistika jälgimine, viimistlus aeg veerus näha, kui kaua tööd tegi, counter näha, kuidas paljud töötajad hakkasid tööd (ilmselt see peab kipuvad 1) töö prioriteediks, nimekirja saab minna edasi ja edasi. Keerukamate töö stsenaariume oleks võimalik täpsustada, kui palju mälu töötaja oleks vaja juurdepääs (ja seega kasutada ainult sobiva töötaja) või isegi millist tüüpi töötaja oleks vaja.

Lisame mõned näiteks töökohti:

Näiteks töökohta

Järgmises tabelis taas on üsna lihtne aru saada, need on meie töö arvestust. Nad on seotud peamised töökohad tabeli veerus `jobs_id`. Moodustavad selles tabelis väga palju sõltub andmed, et sa pead andma oma töötajatele võimaldab teha väga lihtsa näite, kus meil on neli veergu:

  • id: ID rekord
  • nimi: Isiku nimi
  • Aadress: Isiku aadress
  • jobs_id: töö ID, et see rekord on seotud

Kolmas ja viimane tabel koosneb tulemuste tabel, see on sama palju moodustavad meie andmed tabelis ja millele on lisatud mõned veerud võiks olla osa andmeid tabelis:

  • job_record_id: Link tulemuse töö tabel
  • Tulemus: Tulemuseks andmed

... Ja ongi kõik, mida vajate töö kontroll! (Kuigi väga algtasemel) Minu puhul olen osutanud teine ​​tabel, kus minu andmeid töötlemiseks asus, kuid see võib ka lihtsalt olnud faili parameetrid käivitada simulatsiooni-koodi, siis nime.

Valides töö

Nagu eelpool öeldud, töötajad teevad meie töö juhtimine meile nüüd, et kõik me peame tõesti tegema, on leida töö, mis vajab töötlemist ja saada teavet. Kuidas me seda teeme? Noh valida oma tööd valikukriteeriumid ja tööd otsima, SQL tegin järgmist:

  1. Võtma kõik tööd, mis ei ole märgistatud kui valmis, kuid meie töötaja ning taastada need (asendada __ ME__ koos tunnusega, lihtsam oleks IP aadress):
      UPDATE `töökohti` SET `status` = 0 WHERE `status` = 1 JA `started_by` = __ ME__; 
  2. Kasutades meie töö valikukriteeriumid, valige töö ja ütle kontrollisüsteemi, et see töötaja tegeleb ta:
      UPDATE `töökohti` SET `status` = 1, `started_by` = __ ME__, `started_at` = NOW () WHERE `status` = 0 või
     (`Status` = 1 JA `started_at`> DATE_SUB (NOW (), INTERVAL X HOUR)) ORDER BY `id` ASC; 

    Poolt haardeseadised töökohti, mida ei tagastatud tulemusi X aega me tagada, et kõik tööd on joosta, kui töötaja krahh või lähevad otsad.

  3. Järgmine haarata töökohti details järgnevad andmed ise:
      SELECT * FROM `töökohti` WHERE `started_by` = __ ME__ LIMIT 1;
     SELECT * FROM `job_records` WHERE `id` = __ JOBID__; 

Lõpetamisel tööd me sisestada oma tulemuse arvestust ja tähistab tööd lõpetatud. Pea meeles, kui töö saab peatada / jätkata igal ajal võimaldada teatavat stabiilsust oma skripti. Võib olla, et ülesanne peatab poolel teel ajakohastamine töö kontrolli süsteem, et kontrollida kirjete arv töö ja tulemuste arv salvestatud tagasi töö süsteem oleks tark tegu.

Lisaks, kuigi see näitab, kuidas töökohti saab valida ja hallata SQL-query raam siis peaks tõesti olema abstracting oma töö kontroll nii, et kui sa otsustad minna, kasutades veebiteenust faili põhine süsteem, XML , või mis tahes muu mitmeid süsteeme, ei mõjuta see kood kohale.

Töö Configuration

Järgmiseks tuleb arvestada, on töö maht ja konfiguratsiooni. Mängides töö konfiguratsiooni suudame leida hea tasakaalu kiiruse, protsessi replikatsiooni ja usaldusväärsust. Võtta paar OFA stsenaariumi:

  1. Jobs võtab 1 päev iga joosta: See tähendab, et töötajad peavad 15 päeva jooksul töödelda iga töö (meenub 10% võimu 2/3rds ajast). See ei ole kindlasti mõistlik konfiguratsiooni, oma töö maht on liiga suur! See võtab vähemalt kaks korda saada tööd töödeldud peaks esialgse töötaja minna otsad (aeg kiirenemist et ta ei ole tagastatud tulemus pluss ümbertöötlemise aja järgi). Ideaalses soovid on vähemalt 1 täis töökohti lihtsalt kustutatakse aasta lõpus iga pika tühikäigul nii hoiate töökohti tiksub üle ja halvimal juhul töö võtaks 2 päeva protsess peaks 1. kadunud.
  2. Jobs võtab 1 minut joosta: See tähendab, et oma töötajate aega umbes 15 minutit joosta iga töö. Kuigi see võib esialgu tunduda ideaalne, siis saada lisatööd töötlemise ajal lõunasöögi ajal, kohvipausid, kohtumised jne Selle stsenaariumi kurnab teistes valdkondades oma süsteemi ning tutvustab oma probleeme. Näiteks esmalt oma setup / töötlemise ajal suhe lähe kohe alla, seega kaotada süsteemi tõhusust. Oma võrk saab olema pidevalt streaming töö teavet erinevate töötajate masendav töötajad, kes on dong oma igapäevast tööd. Sa oled ka läheb panna rohkem pingeid oma tööd töötlemise server, kui ta peaks jagama palju, palju väikesteks tükkideks tööd regulaarselt. Lõpuks see olukord, kui teie töö server läheb maha sa lähed luua suur tagasi samamoodi lõpetamata tööd samas suurem töökohta jätkuva menetlemise õndsalt teadnud, et töö server oli raskusi.

Tegelikult ei toimu 1 ideaalse konfiguratsiooni oma võrku setup, palju sõltub olemasolevate ressursside tüüpi töö, töö töötsükkel nõuded, võrgu võime, ja nii edasi. Kuid mõned juhised oleks:

  • Size töökohti nii, et iga töötaja saab läbi vähemalt 3-4 töökohta jooksul 15 tunni jooksul (pikim tõenäoliselt jõudeaeg jooksul)
  • Mängi töö suurust nii, et setup aeg muutub üsna tühine võrreldes töötlemise ajal (pidades silmas eespool punkt).
  • Kui tööd ei ole täielik, topelt aega (võibolla vähem) ootate seda täita see oletada, et tema läinud otsad ja alustame selle teise töötaja. See tähendab, et pead ootama kuni kolm korda tavalisest pikkuse töö seda täita (võib-olla enam kui hilisema töö ebaõnnestub). Te võiksite vähendada seda aega, kuid ole ettevaatlik, mitte vähendada seda liiga palju, kuna te võite alustada dubleerida töötlemise ülesandeid regulaarselt.
  • Jobs peaks olema sõltumatu väljaspool nõudeid nii palju kui võimalik. Töö server, näiteks tohib ühendust alguses ja lõpus kõik tööd.
  • Ärge küllastusgaaside oma võrku, see on kaks negatiivset mõju, oma päevase töötajad leiavad, kasutades võrgu masendav ja probleemid võivad olla kogenud ühendused ajastus välja probleemi, et ainult hullemaks, kui skaala oma võrku.
  • Tagada töökohad võivad töötada oma töötajaid. Kui töö muutub liiga mälu intensiivne või kettaruumi intensiivne töö hakkab katkestan ja ainus asi, mida märkad on vähenenud töökohtade arv töödeldud, kellel puudub tegelik põhjus, miks.

Esitades tulemused Töö

Kui liikmesriigid esitavad tulemuste töö on oluline kontrollida, et tulemusi ei ole esitatud teise töötaja, eriti kui praegune töötaja on seisnud juba mõnda aega.

Kui tulemused on esitatud tagada tulemuste arv vastab kirjete arv jooksul tööd.

Nagu eelpool öeldud, ja ei saa üle rõhutada, ehitada tõrketaluvuseks arvesse tööd otsida ja tulemuste esitamine. Töötajad saavad (ja tõenäoliselt) läheb ooterežiimi kõige ebamugav korda ja see tuleb süüa. Samuti taas abstracting ära oma tulemuste esitamine aitab rahuldada tulevasi muutusi oma töö kontrollisüsteemi palju lihtsam toime tulla.

Kokkuvõte

Selles section vaatlesime mida töö kontroll server peab tegema ja kuidas väga lihtne süsteem luua. Arutasime, kuidas hankida töökoht alates kontrollisüsteemi ning kuidas seadistada töökohta saada kõige meie oma kontori võrgusüsteemi. Lõpeta, punkt või kaks Tulemusi esitades tagasi töö kontroll server esitas.

  • Töö kontroll server haldab töökohti ja tagab, et kõik tööd üksused on valmis
  • Poolt abstracting oma tööd valida / tulemuste esitamise saame muuta tehnoloogia kontrolli server ilma palju probleeme
  • Konfigureeri oma töökohta, et nad töötavad kiiresti ja tõhusalt seadmata liiga palju survet oma võrgu infrastruktuuri, ilma dubleerimata töötlemise ülesandeid regulaarselt.
  • Veenduge, et teil ehitada tõrketaluvuseks ja viga checking oma rutiin, töötajad saavad peatada ja jätkata ja kõige ebamugav korda. Pea meeles, et vaadata, kas tulemused on juba esitatud mõne teise töötaja.

Järgmine kord

Aastal osa 3 loome meie virtuaalne töötlemise masin ja luua meie aknad masinad saada idle tööajaga töötajaid.

Office Grid Computing kasutades virtuaalses keskkonnas - Osa 5

Autor , reede 4. detsember 2009 11:03

Sissejuhatus

Töötan ettevõttes, kus võtame palju partii töökohti töötlemise miljoneid plaate andmete iga päev ja ma olen mõelnud viimasel ajal umbes kõik masinad mis istuvad iga päev midagi mitu tundi. Kas poleks hea, kui saaksime kasutada neid masinaid toetada töötlemise võimsus on meie süsteemi? Selle komplekti esemete ma lähen vaatama potentsiaalsete tulude tööd kontoris võrku kasutades virtualised keskkond.

Aastal Osa 4 me vaatasime, kasutades vahendeid, et tagada, et me töötab uusima versiooni kood ja andmeallikad, et saadud tulemused on alati up-to-date viimaste äriteabe ja loogika.

Pre-Deployment

Enne juurutamist oma võrgusüsteemi kui seal on üks asi, mida teha ja üks asi üksi see on võrrelda oma praegust süsteemi! Ükskõik, mida sa öelda kolleegidele, kui palju lisatööd oma süsteemi kavatseb teha, kui sa pole numbreid selle väite toetuseks oma garantiid on midagi. Niisiis,

  • kui palju andmeid saab töödelda praegu? Päevas? Tunnis?
  • Kui kaua see tavaliselt võtab ümber pöörata töö?
  • Kui palju rohkem võimalusi teil on?

Seal on ka täiendavaid küsimusi:

  • Kui teie töötlemine server (või mõni teie töötlemise serverid) loojub kuidas see mõjutab teie võimeid, oled sa halvatud?
  • Milliseid eeliseid loodate / oodata, et saada grid süsteemi?
  • Kas teie bürooseadmed võimelised töötama töökohti?
  • Kas teie (või saab tööd ümber), et wrok selles stiilis kulgeb?

Viimane suur asi on võtta oma aega suuremate muudatuste niimoodi. Uuenda oma töötlemine koodi tööle, kasutades uut metoodikat, võrrelda uuesti. Võimalik seadistada töötlemine server joosta virtuaalne masin ju sinu töötlemine server oleks lihtsalt töötaja (just väga võimas üks suhteliselt). Laske uus protsess settida.

Deployment

Minu ettepanek oleks pop kontoris 1 nädalavahetusel täita kõiki sisseseade ja setup. Tehke seda vahetult enne kahe nädala puhkuse ja jäta nii teiste vaeste chap tegeleda tagajärgedega ... võib-olla mitte ...

Kasutuselevõtu süsteemi nagu see peab olema aeglane. Kuigi see on suhteliselt lihtne luua see süsteem mõjutab kogu oma kontori infrastruktuuri (ka digitaalse 1). Esiteks, rullima, et paar masinaid korraga, jälgida võrguliiklust, kuidas töötaja hosts teostada päev-päeva järel. Teil võib tekkida vajadus muuta oma tööd konfiguratsiooni vastuseks oma järeldused.

Kui süsteem on asunud elama mõne masinad (saab öelda 10% kõigist kontoriseadmed, st 5) hoida kontrolli võrguliiklust ja host masin performance. Järgmine kriteerium uuesti, siis peaks nüüd töötlemine 33% rohkem töökohti kui oma 1. raamid. Vaata see on nii või et sa oled vähemalt selles ballpark. Kui ei, siis uurida, mis toimub enne liikuma. Korda seda tsüklit seni, kuni te õnneks on kõik kontoritehnika töötab ilma tapmise eraldi masin täitmise või lihvimise oma võrku soiku.

Alati hoida võrdlusuuringute, isegi pärast kõigi kasutuselevõttu on tehtud. Vaata, kuidas uus kood uuendused mõjutavad kiirust oma süsteemi kontrollida kõiki töötajaid aruandluse ja töötlemine töökohti. Aeglaselt (väga aeglaselt) juurdekasvu oma tööd konfiguratsiooni, et saada parimat oma töötajate ja võrku.

Lõpetage!

Aga kui soovite, et peatada oma töötajate töötab mõnda aega? Nad kõik on seal töötab, taastootmine, ja üritab oma parima, et andmeid töödelda nagu näljased putukad. Vastus võib tunduda ilmselge, kuid selle tuleb lisada, igaks juhuks selle tähelepanuta. Lihtsalt muuta oma töötlemine skripti exit (0) or die () või mõne muu avaldus, et tappa oma töötlemine töö. Oluline põhjus, miks me püüame alati värskeima töötlemine script enne run!

Tutvustamise süsteem

Selleks, et kirjutada selle rea lühikesi artikleid olen loonud väga väike grid näidata ja meetodid. Ma lugesin palju artikleid, õpetused ja kasutada erinevaid vahendeid setup ja jälgida, mis toimub. Mingil ma olen läinud ja küllastunud kogu kontori liiklust ja ega ma olen olnud juurdepääs regulaarselt töötajad PC näha, kuidas vastuvõtva tulemuslikkust mõjutas.

Minu tutvustamise süsteem oli väga tagasihoidlik, tõepoolest. Ma kasutasin oma regulaarset desktop loodud töökoha kontrolli server. Selle olin installitud MySQL Server installitud loodud meister replikatsiooni, PHP , A ja SVN kaudu seotud apache (juurdepääsu kaudu töötaja VM).

Siis ma loodud CentOS töötaja masin VirtualBox on 6 aastat vana Windows XP sülearvuti. Ma setup kavandatud ülesanded on määratletud pärast kopeerimist VM peale masina ja lase tal minna.

The virtual machine was set up with PHP, subversion, and mySQL. I checked out a branch named 'worker' from my job control servers repository and made sure it could be updated using 'svn update'. Next I setup mySQL as a slave and checked that data was replicating from mySQL on the job control server down to the worker VM. After all this I setup the bash script and the cron job.

My processing script basically went along the lines of this (very simple stuff):

  • Read in the name field
  • Counted the number of similar names in a table from the data source held on the VM
  • Counted the number of names as above but splitting the name by spaces (ie forename, middle, surname)
  • Repeated this process 1,000 times

Each job took approximately 20 minutes to run. At one point I opened several copies of the worker VM on the windows laptop and watched the jobs be checked off by each of the worker IP addresses. At this point I also confirmed that replication automatically restarted.

Leaving the laptop to idle resulted in a worker starting to process jobs from the job control server. When resuming laptop usage there was a delay of about 30-60 seconds, this is a fair amount of time and staff would need to be made aware that their machine may pause for a short while when returning to the machine. Newer machines may not have a pause of this long. The benefit of the amount of processing performed by these machines during idle periods would more that outweigh staff members having to wait a short period (say 1 minute) on arriving at their machines of a morning (I frequently wait longer that this for a Windows Defender update to take place) provided they were made aware of this (useful time to grab a morning coffee!).

Overall I feel confident that I have demonstrated the technologies that could be used to create such a system. I have shown that such a system does work on a (very) small scale and with some more experimenting could be scaled up utilise the resources of an office's machines. If I don't get to the point of doing this I would be very interested to know/see when someone else does.

Conclusions / Evaluation

The next obvious step would be to actually get a real world example and start to deploy a system such as this within an office environment and see what happens. Asking a business to commit to this without a trail blazing company to prove the technology and effectiveness may be a little difficult. Grid/Distributed computing is very popular is some circles and has some large applications (BIONC, SETI@Home, Folding@Home, etc). I did not, however, find a smaller scale and simple system like this in my searches that could be rolled out within an office environment.

I created a basically free system using mostly open source software and tools available in almost any office. The technologies were basically demonstrated and show to perform and work as expected. Hopefully I have show that with not much work and with a very simple setup you can deploy an office grid computing system that is powerful, cheap, and scalable all at the same time.

Once a system is up and running there is almost no end to the amount of customisation and improvements you can make. For example statistics / benchmarking can easily be added showing the worth of such a system every day. New machines can be added quickly and easily as and when they arrive with upgrades to existing hardware bolstering your processing power.

I hope you've enjoyed reading this series of articles and its given you food for thought on running an office grid system. The solution presented here won't necessarily work in all situations but should be adaptable to allow you to get your data processing done using your own solution.

Please feel free to send me any comments, corrections, or improvements and I'll do my best to keep this article updated to match.

Zend Framework: Fundamentals - Review

Autor , laupäev 28 november, 2009 22:42

My employer recently paid for a group of us developers to take the Zend Framework: Fundamentals course, here I'll summarise my thoughts and opinions on the course for others. For those looking to save time, here's my summary:

For developers who haven't had time to look at the Zend Framework this course (Zend Framework: Fundamentals) offers a good overall picture of the framework introducing you to the key areas and giving enough information in order to continue. For those who have spent time looking at the framework and have followed one or two tutorials this course does not offer much beyond.

Taust

I've been a PHP developer for around 5-6 years, and have started working with the Zend Framework on a component basis over the last 6 months. I've developed and/or been a developer on a couple of small Zend Framework MVC sites. I'll be honest, I haven't had a huge amount of exposure to other frameworks from a coding point of view but have spent several hours researching the project websites and evaluating them. The framework and the community surrounding Zend Framework it is quite exciting and there seem to be huge possibilities in where its going.

About the Course

The course is delivered over 9 two hour webex sessions (with a 10-minute break in the middle). The time is spent going through a set of slides provided by Zend with discussion at any time. You can use a microphone to talk to the instructor, but to be honest I didn't see anyone use anything more than the chat window. In addition a VMWare Ubuntu machine is provided that has example code and projects set up an a trial version of Zend Studio. The course leader talks to attendees either over an integrated VoIP solution, or you can dial in using one of the many worldwide dial in numbers.

During the course the material consists of a brief overview of the Framework and the MVC pattern before heading into a sample guestbook application. The discussion demonstrated bootstrapping, Zend_Application, Db Tables, Database access, Forms, Filtering, ACL, Validating, etc, etc. Basically covering all the topics you'd require to get a basic site up an running all the time giving you the tools to go and get more advanced in the framework (although this did amount to 'See the website' much of the time).

Time is given to code up some examples, and to develop the 'guestbook' and simple 'wiki' application. Personally I felt that providing the code or each app and then asking us to develop what was essentially a copy alongside didn't really provide a good learning experience. I would have preferred to develop an application similar, but not identical. to the example application with the benefit of having a guide to refer to. Alternatively building the applications from scratch with the demonstrator would of possibly led to more questions about why and how , thus giving a better understanding of the framework, after all you can look up specifics after the course.

The last lecture consisted of working on the wiki application with help/guidance from the instructor. After the course feedback was taken, it was emphasised several times through the course that Zend takes feedback very seriously, in fact apparently our version of the course was quite new. Some of the other developers in the company will be taking the course soon so it will be interesting to see if this has happened.

The course style was informal, allowed for feedback and collaboration between attendees and the instructor. The course leader was friendly, approachable (email addresses were shared for questions), and whilst his presentation from the slides was a bit shaky seemed fully competent in the framework. He was clearly someone who used the framework on a regular basis rather than someone who is taught to teach the course, I liked the 'real world' experience in that respect.

Overall Feeling

In some ways I found the course a waste of time, in others it was very handy. Hopefully I'll get my reasons across clearly, and maybe provide some food for thought or useful feedback (knowing me this is unlikely!).

For myself this course was aimed at too low a level. Having gone through the quickstart guide, read Rob Allen's Zend Framework in Action, and worked with the framework a little I didn't really get anything too much. I would of liked the course to pick up from the end of the quickstart and develop additional skills.

That said, the course title does clearly state “Zend Framework: Fundamentals ” and in that aspect the course achieves what it sets out to do. Other members of the development team that haven't spent the time looking into the framework finished each session with enthusiasm and asked questions which was really nice to see.

All was not lost, it was good to spend time confirming the basic details of the framework and get to ask a couple of questions in areas where I wasn't 100%. It was also time that I got to sit down each day and think about coding using the framework and future projects, something I wouldn't of been able to do otherwise (can you imagine your company agreeing to that? :) ). Last but not least you also get a nice certificate from Zend to say that you attended the course (albeit by email).

Zend Framework Certification

This was one question that kept coming to mind during the course, would it prepare me for the certification? The quick, easy is a resounding No . The course instructor was quite clear on that with the additional advice that for the certification you should really be using the framework on a day to day basis and feel very comfortable and confident in its usage and methodologies.

Kokkuvõte

Given everything I've written above, I'll summarise everything in two easy bullet points:

  • New to Zend Framework: This course does exactly what you'd expect, it gives you a nice introduction to the framework and a good grounding on the basics from which you can build. The course seems to generate interest and enthusiasm for the framework amongst developers.
  • Used the Zend Framework: While it was nice to shore up some of the very basics I felt the time, effort, and funds to take the course could of been better spent elsewhere. It will be nice to see Zend create a new higher level course to take developers to the next level – at least to the standard of certification and beyond. For that I would sign up immediately.

[notice] child pid XXXX exit signal Segmentation fault (11)

By , Sunday 11th October 2009 6:09 pm

If you've recently upgraded PHP or Apache you maybe coming up against the issue of your webserver returning blank pages, and throwing error messages into your logs with no idea why, here's one possible way to fix it…

I've had this problem a couple of times recently after upgrading Apache or PHP on a virtual machine. The first time I noticed the error I simply reverted to a backup of my VM but the second time I realised I'd have to look into the issue.

The first time I noticed the issue some of my web pages were being served as blank files while the others worked absolutely fine. After some investigation I noted that apache was writing out to /var/log/http/error_log with the following message repeatidly:

[notice] child pid XXXX exit signal Segmentation fault (11)

There's not allot to go by on-line, and most of the pages about it trail off to nothing. That said, I narrowed down the issue to PHP crashing when trying to unneeded dynamic libraries.

Looking at my php.ini (/etc/php.ini) I commented out all of the dynamic libraries loaded planning on commenting them back in as required. The two I had to take out where pdo.so and mysql .so .

Once these were removed all my web pages were being served fine, just as before the PHP/Apache update.













Panorama Theme poolt Themocracy

9 visitors online now
8 guests, 1 bots, 0 members
Max Külastusi täna: 48 at 02:40 am UTC
Sel kuul: 56 at 25-04-2012 08:41 am UTC
Sel aastal: 69 at 27-02-2012 09:56 am UTC
Kogu aeg: 130 at 28-03-2011 10:40 UTC