Innlegg tagged: Linux

Skrifstofa Tafla Computing með Virtual umhverfi - Part 4

Með því að og Föstudagur 4 desember 2009 23:59

Inngangur

Ég vinn í fyrirtæki þar sem við keyra mörg störf Runuvinnsla milljónir gagna af gögnum á hverjum degi og ég hef verið að hugsa undanfarið um allar vélar sem sitja í kring á hverjum degi að gera ekki neitt í nokkrar klukkustundir. Væri ekki gott ef við gætum notað þær vélar til að efla vinnslu kraft kerfi okkar? Í þessu mengi greina sem ég ætla að líta á hugsanlegum ávinningi af ráðningu skrifstofu rist með virtualised umhverfi.

Í 3. hluta sem við bjuggum til raunverulegur vinnsla vél okkar og setja upp Windows vélar til að verða aðgerðalaus-tími starfsmenn.

Keyra nýjustu kóða

Óhjákvæmilega eftir að búa starfsmenn viðskipti rökfræði þína mun breyta, villur verður að finna, mun hraðar skilvirkari kóða er framleitt þannig að fara starfsmenn þínir sat um vinnslu gagna með gamla daunillur kóða . Hvernig þá áttu að tryggja að við að við erum alltaf með nýjustu og mest útgáfu af skriftum vinnslu okkar?

Það eru nokkrar mjög einfaldar einfaldar leiðir að við gætum gert þetta, bragð er hins vegar að draga úr vinnslugetu og net umferð í að ná þessu. Lets byrja með einföldustu lausnir og bæta það rólega yfir nokkrar endurtekningar.

Fyrsta aðferðin væri að einfaldlega tengja við starf stjórna miðlara okkar (í gegnum Samba, FTP, eða svipað) og rífa niður nýjustu útgáfu af kóða. Ekki mjög duglegur, en það vilja gera the starf. Lets bæta á að nokkuð, hvernig væri að búa til rsync handriti og nota það í hvert sinn í staðinn? Einnig hvað um að setja nýjustu vinnslu handrit okkar í niðurrifsstarfsemi að skoða kóðann í upphafi og þá bara að uppfæra kóðann okkar á hverju hlaupa ( SVN uppfærslu )?

Í lok við gætum endað með bash handrit (kallað eftir cron á 10 mínútna fresti), sem lítur út eins einfalt og þetta:

  #! / Bin / sh
 ef PS öxin | grep-v grep | grep PHP > / dev / null
 þá
     echo "Job er nú að vinna, hætta"
 annars
     echo "Job er ekki í gangi, byrja núna"
     CD / slóð / að / vinna / afrit
     SVN uppfæra
     PHP yourJobProcessingScript.php
 Fi 

Nú getum við verið viss um að með hverjum tíma sem við erum örugglega að keyra nýjustu kóða. Við erum að tryggja þetta með því að uppfæra kóða stöð okkar í hvert og hvert skipti sem við framkvæma að hlaupa og draga úr net umferð aðeins um að flytja skrá mismun yfir netið okkar.

Í uppsetningu kynningu mína, gerði ég nákvæmlega eins og hér að ofan. Niðurrifsstarfsemi var sett á starf vinnslu vefþjóninum mínum og ég kippti einfaldlega nýjustu kóða frá a 'launþega' á grein nota "SVN uppfærslu". Ég bætti líka útgáfunúmer tag vinnslu handriti mínu sem var aftur í gagnagrunn sem hluta af niðurstöðum aftur. Þannig að ég gat séð að kóðinn minn var að uppfæra í hvert sinn sem ég afrita skottinu mínu í grein starfsmanna, þ.e. að ég var örugglega að keyra nýjustu vinnslu handrit.

Notkun nýjustu gögn

Ef starf vinnslu þinn gerir notkun heimildum gögn þá á einhverjum tímapunkti þetta eru að fara að uppfæra líka. Nema þú hringja gögn heimildir þínar á mjög örfáum grundvelli þú ert að fara að drekkja net með umferð eins fljótt og starfsmenn þínar byrja að birtast færa allt til kyrrstöðu. Lausn ég ákvað að ég vil færa gögn heimildir mínar í kring með VMS mínum.

Haltu þú ert hestar þar! Hvað ef gögn heimildir mínar eru HUGE? Jæja þetta er í raun dæmi um hversu mikið af gögnum erum við að tala? Það kann að vera hagkvæmari til að setja upp fleiri stærri harður ökuferð inn í hverja vél en að kaupa til viðbótar vinnslu miðlara. Þetta er spurning um fjárhagsáætlun og er allt að fyrirtæki til að ákveða. Það kannski að gögn heimildir þínar eru svo stór að þess bara unfeasible að halda að magn af gögnum í vél starfsmaður þinn. Í því tilfelli hvað myndir þú gera? Jæja við gætum litið á að kalla á staðnum gögn miðlara, en þetta gæti valdið mál með netið. Í þessu tilfelli er net kerfi eins og það getur orðið óraunhæft að fela í umhverfi skrifstofu. Það getur líka verið að þú getur litið inn í aðra gangi áætlanir, til dæmis aðeins að kalla starfsmenn þína milli 8pm og 6am á hverju kvöldi og / eða throttling gögn uppspretta þess.

Flutningur á segjum gögn heimildum magn okkar til 100GB af gögnum. Jæja já það er töluvert af gögnum til að fletta á netinu á uppfærslu. Hvernig myndum við tryggja að við höfum nýjustu afrit af gögnum í þessu tilfelli? Rsync er möguleiki, en persónulega finnst með því að keyra nýjustu gögn fengið þinn á starf vinnslu miðlara og setja þetta upp sem skipstjóri í eftirmyndun (með fallegu langan bin log) gæti verið leið til að fara:

afritunar Með því að setja hvern starfsmanna upp sem þræll að stjórna vinnu miðlara breytingar á gögnum heimildum þínum mun trickle niður fallega til starfsmanna án þess að mikið aukningu á virkni net (sem er nema þú framkvæma a gríðarstór gögn uppfærslu og allir starfsmenn þínir sparka í í einu). Þetta hefur yfirburði yfir rsync í að þú viljir ekki fá langt hlé fyrir hvert starf, sem gagnasafn endurnýja, að MySQL púkinn á starfsmann þinn mun stöðugt að uppfæra gögn á meðan vinnsla áfram.

Þetta er hvernig ég setja upp sýning vefþjóninum mínum. Til að setja upp afritunar Ég fylgdi leiðbeiningunum á MySQL staður ( Uppsetning afritunar ) og innan 20 mínútna sem ég hafði inital starfsmann minn afrit stjórn starf netþjóna DataSet. Fyrir hvern starfsmann the afritunar stillingar og ferli vann í hvert sinn þegar VM var afrituð.

Yfirlit

Í þessum hluta greinarinnar sem við höfum litið á hversu auðvelt og sársaukalaust það er að halda vinnslu kóðann þinn upp til dagsetning með using rsync eða subverion gr SVN) til að vinna verk og draga net umferð á sama time. Við ræddum einnig hvernig að halda gögn uppspretta upplýsinga upp-til-dagsetning með því að leyfa það að seytla niður til hver af starfsmönnum þínum. Þannig að við svæði að tryggja að við höldum upp með rökfræði fyrirtæki og upplýsingar í skrifstofu rist kerfi okkar. Það mun augljóslega vera ótal kostir til að sinna þessum verkefnum, en hér voru tvær einfaldar dæmi til að sýna hversu auðvelt lausn er að koma með.

Næst þegar

Í síðasta hluta þessa röð, viðeigandi hét Hluti 5 , munum við ræða að beita þessu kerfi fyrir. Ég draga það hefur verið lært og það sem ég náði að búa til.

Skrifstofa Tafla Computing með Virtual umhverfi - Part 3

Með því að og föstudagur 4. desember 2009 11:37 pm

Inngangur

Ég vinn í fyrirtæki þar sem við keyra mörg störf Runuvinnsla milljónir gagna af gögnum á hverjum degi og ég hef verið að hugsa undanfarið um allar vélar sem sitja í kring á hverjum degi að gera ekki neitt í nokkrar klukkustundir. Væri ekki gott ef við gætum notað þær vélar til að efla vinnslu kraft kerfi okkar? Í þessu mengi greina sem ég ætla að líta á hugsanlegum ávinningi af ráðningu skrifstofu rist með virtualised umhverfi.

Í hluta 2 leit við á störf a framreiðslumaður vilja hlaupa, og hvernig störf skal stilla til að ná mesta magn af vinnslu á meðan að tryggja að hvert starf er unnið án þess að mistakast.

Uppsetning starfsmann þinn - eða Limp miðlara

Næsta skref í ferlinu er að setja upp raunverulegur starfsmenn þína. Fyrir þetta ætla ég að nota uppsetningu á CentOS með Raunverulegur. Ég ætla að setja MySQL og PHP á vefþjóninum, einnig þekktur sem Limp (Li nux, m ySQL, P HP) Servera i kann að hafa gert það nafn upp).

  • Setja Raunverulegur á Windows vél (fylgja tengilinn)
  • Sækja og setja upp CentOS (núverandi útgáfa 5,3) innan skapa raunverulegur vél

Það er ekkert lið mér að fara að þessu það er líklega er 1.000 'af frábærum námskeið þarna úti (ok, hér er eitt: Að búa og Managing CentOS raunverulegur vél undir Raunverulegur ). Mikilvægast að hafa í huga að ég ætla að ég kallaði raunverulegur vél mín GridMachine.

Eins og langt eins og val mitt af viðskiptavinur virtualisation og stýrikerfi fara það er ekki stór sannfærandi ástæða fyrir hvert val. Raunverulegur er eitthvað sem ég nota á vélinni heima og er studd af þremur helstu stýrikerfi. Ég valdi CentOS sem í hennar góðu jafnvægi OS og ég nota það á eigin vefþjóni mínum. Ég er mikill trúmaður í the réttur verkfæraskúr fyrir vinnu (þó ég sótt 'nota fljótlegasta og einfaldasta fyrir þig um hugarfar hér), þannig að ef stýrikerfi X keyrir kóðann þinn hraðar og meira duglegur að nota það í staðinn :)

Mikilvægt að tryggja að VM notar DHCP, annars fyrir hverja nýja raunverulegur vél þyrfti að vera stillt sérstaklega sem er eitthvað sem við ekki want.By nota DHCP við þurfum ekki að stilla net stillingarnar sig fyrir vélar starfsmaður, DHCP mun afhenda út IP-tölum fyrir þig. Því þú getur afritað raunverulegur vél um skrifstofu án þess að hafa áhyggjur um að setja hvert og eitt upp (þetta bætir sveigjanleika og dregur starfsmanna stjórnsýslu).

Ferlið sem þú ættir að stefna að því að ná væri að fá nýja líkamlega vél, setja í embætti Raunverulegur, og þá ansi mikið að senda á vettvang raunverulegur mynd án þess að mikið annað. Það gæti verið skynsamlegt að setja alla starfsmenn þína á mismunandi subnet þannig að þú getur að minnsta kosti sjá hversu margar vélar eru í gangi. Þú þarft einnig að setja upp vélar þínum á langan leigusamning eða ótakmarkaða leigusamnings DHCP.

Hvernig á að keyra starf á starfsmaður

Þetta er áhugavert svæði og það eru nokkrar gildar aðferðir til að vinna störf á starfsmann. Hér ég bara ræða tvö augljós:

  • Perpetually hlaupandi handriti: A handrit, vera það skel handrit, eða PHP handrit er keyrð einu sinni á starfsmann og keyrir sem hluta af óendanlega lykkju. Ég hef afsláttur þessa aðferð eins og einn hrun á handriti og hugsanlega starfsmenn þínir munu hætta að keyra án þess að einhvers konar íhlutunar.
  • Cron byggir handrit framkvæmd: hvert X mínútur cron púkinn ánægja burt hringja í handriti til að fá það að fara. Án sumir stöðva þetta gæti leitt til margra margra eintaka af launþega handrit að keyra þinn.

Ákvörðun mín var að fara með cron sem ánægja burt skeljaskripta hvert 10 minutes. skeljaskripta mín sinnir eftirfarandi verkefnum:

  1. Fá ferli lista og grep þetta fyrir 'php'. Ef ekki finnst þá áfram.
  2. Hringdu starf númerið þitt, í mínu tilfelli þetta væri eitthvað PHP byggt
  3. Starfsmaður handrit lýkur hlaupa sitt
  4. Tilbúinn til að fara aftur á næsta viðeigandi símtali

Bash handrit mitt lítur eitthvað eins og eftirfarandi:

  #! / Bin / sh
 ef PS öxin | grep-v grep | grep PHP> / dev / null
 þá
     echo "Job er nú að vinna, hætta"
 annars
     echo "Job er ekki í gangi, byrja núna"
     PHP yourJobProcessingScript.php
 Fi 

Athugið: echo eru næstum alveg tilgangslaust, en getur hjálpað næsta mann sem kemur með til að reyna að breyta þeim.

Það lýkur sett upp af starfsmanninum raunverulegur vél, fljótur, einfalt og auðvelt að afrita hverja nýja stykki af vélbúnaður sem berst. The 'Cleverness' á rist kerfi er í raun ekki í visualized OS, þess allt að gera með kóða búin að vinna störf, starf stillingar, og í því að tryggja að starf keyrir þegar við á (þ.e. þegar vélin er aðgerðalaus ).

Setja upp Windows til frumstilt Verkafólk

Fyrsta verkefni er að vinna út skipun sem þarf til að keyra raunverulegur vél frá gluggakista stjórn lína. Ef þú hefur sett upp Raunverulegur í sjálfgefna staðsetningu og þú hefur nefnt starfsmanna GridMachine þína þá er stjórn skylt að hlaða upp starfsmann þinn:

  "C: \ Program Files \ Sun \ Raunverulegur \ VBoxManage.exe" startvm GridMachine 

Hins vegar til að keyra handrit í a 'höfuðlaus' á ástandi við þurfum að nota:

  "C: \ Program Files \ Sun \ Raunverulegur \ VBoxHeadless.exe"-startvm GridMachine - vrdp = burt 

Þetta mun byrja að raunverulegur vél án GUI og leyfa því að spara stöðu þokkafullur. Annað rifrildi slekkur flokkurinn svo það er ekki stangast á við Windows flokkurinn, eða gefa þér skilaboð um að hlusta á höfn 3389. The raunverulegur vél nafn er málið viðkvæmt!

Næst munum við þurfa að setja glugga upp til að sparka burt starfsmanna VM okkar þegar vélin hefur verið aðgerðalaus. Til að gera þetta (á Windows XP) þú þarft að fara Start -> All Programs -> Accessories -> System Tools -> Áætlunarferðir Verkefni sem hér segir:

tímasett verkefni

Næsta smella á 'Bæta við tímaáætlun verkefni' ásamt fletta að bæta við siðvenja áætlun. Sigla til VBoxManage handritið og smellt á OK. Dagskrá verkefni fyrir eitthvað af valkostum (við munum breyta þessu í eina mínútu) og halda áfram. Eftir skipstjóri næsta skjár Windows mun spyrja þig hver þú vilja til hlaupa this verkefni, myndi ég stinga upp annað hvort 'Stjórnandi' eða búa til nýja forréttinda notanda. Mundu að við viljum ekki að trufla venjulegu starfsfólk reikning á vélinni á hverjum stað. Smelltu á Next og athuga sýna háþróaður valkostur fyrir þetta verkefni.

Til að lokum hlaupa kennslubók bæta band okkar 'startvm GridMachine' og tryggja að hlaupa aðeins þegar skráður í er eftir unticked. Farðu á áætlun verkefni næsta og breyta áætlun falla niður að valkostur 'þegar aðgerðalaus ", velja the magn af tími þú vilt að tölvan að vera aðgerðalaus áður en hann flutti í næsta flipa.

Að lokum untick möguleika sem segir að hætta við verkefni ef það hefur verið í gangi X magn af tíma, en ekki merkið möguleika á að stöðva verkefni ef vélin er ekki lengur aðgerðalaus.

áætlun

Það er það þá fyrir Windows gestgjafi skipulag!

Yfirlit

Í þessum hluta höfum við sett upp a raunverulegur vél til að starfa sem launþegi, sem og því hvernig sem við köllum og framkvæma starf vinnslu forskriftir okkar (fyrir mig PHP handrit). Héðan við líta á hvernig á að setja upp afrit okkar af gluggum til að byrja upp á raunverulegur vél í höfuðlaus ham þegar tölvan verður aðgerðalaus, og spara stöðu sína þegar notandinn aftur notkun á vél. Vonandi á þessum tímapunkti sem þú ert að sjá hvernig það er einfalt að setja upp slíkt kerfi og kláði að fá nokkrar tilraunir að fara sjálfur!

Næst þegar

Í hluta 4 við munum vera að horfa á að nota verkfæri til að tryggja að þú ert að keyra nýjustu útgáfuna af kóða og gögn heimildum svo sem fengnar niðurstöður eru alltaf upp-til-dagsetning með nýjustu upplýsingar um fyrirtæki og rökfræði.

Skrifstofa Tafla Computing með Virtual umhverfi - Part 1

Með því að og föstudagur 4. desember 2009 11:23 pm

Inngangur

Ég vinn í fyrirtæki þar sem við keyra mörg störf Runuvinnsla milljónir gagna af gögnum á hverjum degi og ég hef verið að hugsa undanfarið um allar vélar sem sitja í kring á hverjum degi að gera ekki neitt í nokkrar klukkustundir. Væri ekki gott ef við gætum notað þær vélar til að efla vinnslu kraft kerfi okkar? Í þessu mengi greina sem ég ætla að líta á hugsanlegum ávinningi af ráðningu skrifstofu rist með virtualised umhverfi.

Sem PHP forritari ég ætla að nota verkfæri sem ég nota á hverjum degi þ.e., Linux, MySQL , PHP, Raunverulegur og niðurrifsstarfsemi (SVN). En ég vona að þessi handbók mun laga sig að öðrum tungumálum og tækni eins og heilbrigður.

Lausnin sem ég afla verður mjög lauslega byggð á tegund vinnslu við þyrftum að ná þó þetta getur ekki verið satt í gegnum allt hlutur sem ég breyta hlutum fyrir einfaldleika, eða að framleiða fleiri áhugaverða notkun atburðarás.

Þessar virtualised umhverfi mun keyra á Windows vél þar sem þetta er það sem meirihluti skrifstofur hlaupa. Vinnslu að Skrifstofuvélar gera ætti ekki að trufla starfsfólk með þessum vélum ætti að þurfa ekki viðhald á vélinni, og vera auðveldlega deployable nýjum vélum sem þeir verða í boði. Einnig nýr raunverulegur vél ætti ekki að þurfa frekari stillingar sem þetta dregur verulega úr sveigjanleika og vellíðan þar sem rist kerfi er hægt að framlengja.

Hvers vegna Dreifa að Computing Skrifstofa Tafla?

Í fyrsta lagi getur þú verið að hugsa, hvers vegna ekki bara að nota computing ský auðlind eins og EC2 pallur Amazon ? Jæja ástæður gætu verið nokkur, td:

  • Þú munt ekki fela ákveðnar upplýsingar í tölvunarfræði ský umhverfi
  • Þú getur ekki sett ákveðin gögn í tölvunarfræði ský umhverfi fyrir lagalegum ástæðum (td gögn yfirgefa landið), hugsanlega fyrir lagalegum ástæðum, td NHS records.
  • Þú vilt halda vinnslu einingar þinn loka og hafa fulla stjórn á vélbúnaði of
  • Þú hefur ekki verkefni fjármagn til að keyra ský dæmi
  • Skrifstofu hefur ekki tengingu við netið og því ekki hægt til þess að nota ský síðu
  • Þú líkar ekki rigning, ský benda regn, því þú haldir vel í burtu

Ég er viss um að listinn gæti haldið áfram, en ég held að það nóg í bili.

Kostir við Computing Office Grid

Jæja leyfir, gera sumir stærðfræði (og í réttu eðlisfræði stíl lætur gera nokkrar umfangsmiklar forsendur). Ímyndaðu þér að þú ert stór Beefy vinnslu framreiðslumaður hlaupandi 100 störf á dag. Í skrifstofu þú hefur 50 vélar sem eru aðgerðalaus 16 tímar á dag, hver af þessum vélum er 10% eins og öflugur eins Beefy vinnslu skera þinn. (Allar niðurstöður hér eru ávalar til að vanmeta árangur aukning).

Svo, 1 vél * 10% völd * 2/3 tíma = 0,067, þ.e. 1 skrifborð vinnslu á aðgerðalaus tíma geta afgreitt 6 fullri vinnu á dag.

Ef þú mælikvarði nú þetta upp og það tekur 15 aðgerðalaus skjáborð til að vinna eins mörg störf á dag sem helstu vinnslu netþjóninn gerir.

Svo í þykjast skrifstofu okkar 50 vél við gætum aukið vinnslugetu okkar frá 1. miðlara allt að 4 full netþjóna vinnslu, eða við gætum verið að afgreiða 400 störf á dag í stað 100.

Tilkynning, því að enginn fjárfestingu í nýjum vélbúnaði fyrirtæki þitt hefur bara aukist Runuvinnsla getu sína 4 sinnum! Hugsanlega þú ert að fara að auka vald notkun þína, en frá flestum skrifstofu umhverfi sem ég hef verið að vélar eru almennt vinstri á einni nóttu engu að síður, svo þú gætir séð þetta sem græna frumkvæði.

Aðrir kostir þýða einnig að fjárfesting í nýjum (eða uppfæra) vinnsla framreiðslumaður geta tafist ef Skrifstofuvélar þínar eru fullnægjandi og að eins og þú bæta kraft vélum skrifstofu skrifstofu rist þitt verða öflugri sjálfkrafa.

Tækni

Það sem þú þarft? (Eða réttara hvað gerði ég nota):

  • Idle vélar skrifstofa (í minn tilfelli a vara gamall gluggakista XP laptop)
  • Raunverulegur (eða annar viðskiptavinur virtualisation hugbúnaður)
  • A raunverulegur vél með PHP, MySQL running keyra skera niður OS, ég kalla þessar mínum Limp netþjóna :)
  • Algengar til að keyra
  • Atvinna miðlara (getur verið annar raunverulegur vél einhvers staðar)

Dæmigert Algengar

Þær gerðir af störfum að þetta kerfi er hannað til að keyra er sem hér segir:

  • Kerfi fær lista af gögnum á sem við þurfum að passa og skila niðurstöðum
  • Lokað felur haka / leita nokkrum (frekar truflanir) gögn heimildir
  • Niðurstöður úr heimildum gögn getur krafist frekari staðfestingu, samruna, eftirlit með viðbótar gögnum heimildum til að bregðast við niðurstöðum
  • Gögn er skilað með samsvarandi færslur, að fullu staðfest og unnin
  • Hver færsla innan starf er óháð öðrum

Svo í rauninni erum við að horfa á gangi störf sem krefjast blöndu af leit gagnagrunninum og sumir tala marrinu í völsunum og nokkuð dæmigerður atburðarás í rekstrarumhverfi.

Tafla lausnir eru ekki einungis gagnleg fyrir vinnslu störf af þessu tagi. Í grundvallaratriðum, getur einhver aðferð sem hægt er að skipta í sjálfstæðar einingar að keyra samhliða. Sjá Wikipedia fyrir dæmi og frekari upplýsingar: Tafla Computing , en a par af fræga dæmi eru Seti @ Home og BIONC . Það eru ramma fyrir að keyra computing grids, og þetta eru vel þess virði að skoða.

Hvað munum við ná?

Í lok þessara greinar Ég vona að sýna að beita skrifstofu rist þarf ekki að vera gríðarlega dýrt eða tímafrekt. Ég ætla að ræða:

  • Uppsetning stjórn starf kerfi, starf stillingar
  • Búa til viðeigandi vinnslu raunverulegur vél
  • Hvernig á að setja upp kerfi á Windows vél
  • Tryggja þú ert að nota nýjustu kóða og gögn
  • Dreifing og kvóti
  • Horft fram á veginn

Ég ætla að byggja (ok ég byggt, þá skrifaði þetta) dæmi forrit til að prófa hugmyndir á vél með Windows XP og minn 'GridMachine "raunverulegur vél. Starf stjórna framreiðslumaður minn mun vera aðal vél mín sem keyrir Fedora 11 .

Þetta er á engan hátt ætlað að sýna fram á fullu að vinna öflugt kerfi, þess ætlað meira á kynningu og umræðu sem sýnir að þetta er hægt að ná í tiltölulega skömmum tíma og á litlum tilkostnaði. Vinsamlegast ekki hika við að senda mér einhverjar athugasemdir, leiðréttingar eða úrbætur og ég mun gera mitt besta til að halda þessa grein uppfærð til að passa.

Næst þegar

Í hluta 2 mun ég byrja á því að horfa á stjórn starf kerfi, og líta inn í hvernig störf skal stilla til að ná mesta magn af vinnslu á meðan að tryggja að hvert starf er unnið án þess að mistakast.

Skrifstofa Tafla Computing með Virtual umhverfi - Part 2

Með því að og föstudagur 4. desember 2009 11:23 pm

Inngangur

Ég vinn í fyrirtæki þar sem við keyra mörg störf Runuvinnsla milljónir gagna af gögnum á hverjum degi og ég hef verið að hugsa undanfarið um allar vélar sem sitja í kring á hverjum degi að gera ekki neitt í nokkrar klukkustundir. Væri ekki gott ef við gætum notað þær vélar til að efla vinnslu kraft kerfi okkar? Í þessu mengi greina sem ég ætla að líta á hugsanlegum ávinningi af ráðningu skrifstofu rist með virtualised umhverfi.

Í hluta 1 ég gaf yfirlit yfir kerfi og tækni sem ég mun nota eins og heilbrigður eins og rætt sumir af mögulegum ástæðum hvers vegna þú vilt að búa til skrifstofu rist.

Job Control

Ef þú ert að fara að keyra störf þá þú ert að fara að þurfa einhverja leið til að stjórna þeim. Starf eftirlitskerfi þín (á þjóninum starfsumsókn) þarf að vera virkilega vel hugsað út fyrir jafnvel að reyna að keyra skrifstofu rist. Svo í fyrsta lagi, hver eru verkefni fyrir stjórn starf kerfi:

  • Skilið út störf að beiðni starfsmanna
  • Segðu starfsmenn hvaða tegund af störf til að keyra
  • Track störf
  • Að tryggja að störf eru aðeins keyra einu sinni
  • Veita starf gögn til starfsmanna, eða að minnsta kosti segja þeim hvar á að fá það

Kerfið þarf einnig að vera teygjanlegur, lausn sem virkar fyrir nú í einu tilviki er heimilt að framlengja til að keyra nokkrar tegundir af störfum sem fyrirtæki sér gildi í töflu lausn. Til dæmis, störf má fá forgangsröðun, fleiri en eitt starf tegund getur verið (þ.e. margar undirstöður númer), að lokum getur þú jafnvel hlaupa nokkrum mismunandi véla starfsmaður sem eru bjartsýni fyrir hverja tegund vinnu (þó að það er flutt í burtu frá the 'almenna starfsmann "Hugmyndin). Alltaf að reyna að hugsa um framtíðina þegar að þróa kerfi, til skamms tíma sýn getur leitt til lengri tíma gremju og aukinni þróun tíma.

Atvinna Server

Við erum að fara að þurfa einhvers staðar að stjórna störf okkar frá, ætti þetta að vera eina kerfið á rist þinn sem hefur fasta úrræði Locator, vera að IP tölu, gestgjafi nafn, slóð (með innri DNS) o.fl. Þetta er vegna þess að starfsmenn þurfa að vita hvar á að leita að starfi, þarf starfsmenn til að finna stjórn starf kerfi (ekki stjórna starf kerfi finna starfsmenn).

Starfið framreiðslumaður sig ekki í raun hafa flókið verkefni (í grunn kerfi einhvern veginn), þarf það að geyma lista yfir störf, hönd út störf, fá niðurstöður, og síðan vista þær til síðari sókn. Hvernig þessir hlutir ('hönd út Jobs "eins) eru skilgreindar getur verið mjög einfalt. Seinna getum við lengja kerfið til að fela í sér gjöf tengi til að bæta við, breyta, eyða, fresta störfum en þetta er handan þessa æfingu.

Það er engin ástæða alls þá sem starf framreiðslumaður þín gæti ekki verið raunverulegur vél í gangi innan helstu vinnslu miðlara enda er ekki holræsi of margar auðlindir frá því. Starfið framreiðslumaður þó hefur þurft mikið framboð, ef það fer niður á föstudagskvöldi þú ert að fara að missa allt helgi vinnslu, hugsanlega kosta þig nokkrar vikur virði af tíma vinnslu (í samanburði við helstu vinnslu miðlara eingöngu) . Þú vilt kannski að íhuga að setja starf miðlara á hlaða jafnvægi umhverfi fyrir hár framboð.

Basic Setup

Grunn skipulag fyrir miðlara starf okkar mun samanstanda af því sem ég kalla einn af Limp netþjónum mínum (sem er Li nux, m ySql, P HP). Kóðinn í gangi á Thea starfsmenn vilja raunverulega vinna út hvað störf það er hægt að keyra í gegnum samskipti við með starf stjórna kerfi gagnagrunna. Síðar við gætum búið til vefur þjónustu og í raun hendinni út störf frekar en að þurfa starfsmenn að gera vinnu sig, en nú munum við halda áfram að nota KISS meginreglu (Hafðu það einfalt, Stupid!).

Svo leyfir, að búa til þrjú mySQL töflur til að takast á við störf. Þetta mun vera `störf`, `jobRecords` og `jobResults`.

störf borð Hér ég er að nota SQL Buddy a mikill lítill val til phpMyAdmin bara vegna þess að auðveldara þess að setja á CentOS (fyrir aðra sjá: 10 Great val til phpMyAdmin )

Þessi tafla samanstendur af 5 einföldum sviðum,

  • id: Einstaklega finna starf
  • Nafn: Gæti verið viðskiptavinur tilvísun, eða allir tala af öðrum auðkennum
  • Staða: Þú þarft að vita hvar starfið er á, td
    • 0: Ekki byrja
    • 1: sóttir
    • 2: Lokið
  • started_by: Hver er byrjað að gera í vinnunni? Þetta er ekki alveg nauðsynlegt en er gott að hafa. Ég vil benda mælingar starfsmenn með IP tölu þeirra á netið
  • started_at: Hvenær starfsmaður hefja starf? Með því að fylgjast með störf sem ekki hafa lokið innan X tíma og við vitum að við þurfum að taka upp starf aftur og byrja vinnslu af öðrum starfsmanni. Starfsmenn gætu hætt vinnslu / go ótengdur fyrir af ýmsum ástæðum, máttur bilun, hrun, net tap, o.fl.

Það er auðvelt hvernig þessi tafla gæti verið framlengdur með nokkrum fleiri sviðum til að leyfa fyrir tölfræði virka, tími klára dálki til að sjá hversu lengi starf tók, er gegn til að sjá hversu margir starfsmenn tóku upp starfið (augljóslega þetta þarf að hafa tilhneigingu til að 1), starf forgang, listinn getur farið á og á. Í flóknari vinnu tilfellum væri hægt að tilgreina hversu mikið minni starfsmaður þyrfti aðgang að (og því aðeins að nota viðeigandi starfsmenn), eða jafnvel hvaða tegund af starfsmanni væri nauðsynleg.

Lets bæta nokkrum störf dæmi:

dæmi störf

Næsta tafla aftur er alveg einfalt að skilja, eru þetta starf færslur okkar. Þau eru tengd við helstu störf töflu með dálkum `jobs_id`. Að hringja upp á þessari töflu mjög mikið veltur á þeim gögnum sem þú þarft að veita starfsmönnum þínum, gerir þér kleift að gera mjög einfalt dæmi þar sem við höfum fjóra dálka:

  • id: Auðkenni færslu
  • Nafn: nafn viðkomandi
  • Heimilisfang: heimilisfang viðkomandi
  • jobs_id: Starfið auðkenni sem þessi færsla er tengd við

Þriðja og síðasta borð samanstendur af niðurstöðunum, það hefur mikið sama að gera upp og færslur borð okkar, og með því að bæta við nokkrum dálkum gæti verið hluti af færslur töflu:

  • job_record_id: Link niðurstöðu að starf borð
  • Niðurstaðan: niðurstöðu gögn

... Og það er allt sem þú þarft að stjórna vinnu! (Að vísu á mjög undirstöðu stig) Í mínu tilfelli ég benti á annað borð þar sem gögn mín aðferð var staðsett, en þetta gæti alveg eins auðveldlega verið skrá, breytur til að keyra uppgerð kóða, nefndu það.

Val á starfi

As stated previously, the workers will do our job management for us for now, so all we need to really do is find a job that needs processing and get the information. How would we do this? Well pick our job selection criteria and look for jobs, in SQL I did the following:

  1. Take any jobs that are not marked as complete but from our worker and reset them (substitute __ME__ with an identifier, easiest would be IP address):
     UPDATE `jobs` SET `status` = 0 WHERE `status` = 1 AND `started_by` = __ME__; 
  2. Using our job selection criteria, select a job and tell the control system that this worker is dealing with it:
     UPDATE `jobs` SET `status` = 1, `started_by` = __ME__, `started_at` = NOW() WHERE `status` = 0 OR
    (`status` = 1 AND `started_at` > DATE_SUB(NOW(), INTERVAL X HOUR)) ORDER BY `id` ASC; 

    By grabbing jobs that haven't returned results in X amount of time we ensure that all jobs are run in the event of a worker crashing or going AWOL.

  3. Next grab the jobs details followed by the records themselves:
     SELECT * FROM `jobs` WHERE `started_by` = __ME__ LIMIT 1;
    SELECT * FROM `job_records` WHERE `id` = __JOBID__; 

Upon completion of the job we insert our result records and mark the job as complete. Remember as jobs can suspend/resume at any time allow for some robustness in your script. It might be that the task suspends half way through updating the job control system, so checking the number of records in a job and the number of results saved back to the job control system would be a wise move.

In addition, whilst this demonstrates how jobs can be selected and managed from an SQL-query frame you should really be abstracting your job control so that if you decide to switch to using a web service, a file based system, XML , or any other number of systems it will not affect the code above it.

Job Configuration

The next aspect to consider is job size and configuration. By playing with job configuration we can strike an excellent balance between speed, process replication, and reliability. Take a couple of scenarios:

  1. Jobs take 1 day each to run: This means that your workers need 15 days to process each job (remember 10% of the power for 2/3rds of the time). This is clearly not a wise configuration, your job size is way too big! It would take at least double the time to get a job processed should the initial worker go AWOL (time to pick up that it hasn't returned a result plus reprocessing time). In an ideal you'd have at least one full job easily cleared by the end of each long idle period, that way you keep the jobs ticking over and at worst case a job would take two days to process should the first go missing.
  2. Jobs take 1 minute to run: This means that your workers take about 15 minutes to run each job. Whilst this may initially seem ideal, you gain additional work processing during lunch time, coffee breaks, meetings, etc this scenario puts strain on other areas of your system and introduces its own problems. For example, firstly your setup/processing time ratio is going to go right down, therefore losing system efficiency. Your network is going to be constantly streaming job information to the various workers frustrating staff who are dong their day to day work. You're also going to put more strain on your job processing server as it has to dish out lots and lots of small pieces of work on a regular basis. Lastly, in this situation if your job server goes down you're going to create a huge back log of uncompleted work whereas bigger jobs could of continued processing blissfully unaware that the job server was experiencing difficulties.

In reality there will be no one ideal configuration for your grid setup, much depends on the available resources, types of job, job turnaround time requirements, network capability, and so on. However some guidelines would be:

  • Size jobs so that each worker can get through at least 3-4 jobs in a period of 15 hours (the longest likely idle time period)
  • Play with the job size so that setup time becomes fairly insignificant compared to the processing time (bearing in mind the above point).
  • Ef starf er ekki lokið í tvöfalt tíma (kannski minna) þú ætlast það til að ljúka því gera ráð fyrir að gengið AWOL hennar og byrja að vinna það með öðrum starfsmanni. Þetta þýðir að þú gætir þurft að bíða í allt að þrisvar sinnum eðlilega lengd vinnu fyrir það að ljúka (hugsanlega lengur ef síðari starf ekki). Þú vilt kannski að draga úr þessum tíma, en vera varkár ekki til að draga það of mikið og þú getur byrjað að endurtaka vinnslu verkefna með reglulegu millibili.
  • Algengar ætti að vera óháð utanaðkomandi kröfum eins mikið og mögulegt er. Starfið miðlara, til dæmis, ætti aðeins að hafa samband í upphafi og lok hvert starf.
  • Ekki saturate ekki net, þetta mun hafa tvær neikvæð áhrif, daginn starfsfólk mun finna með því að nota net pirrandi og vandamál geta komið fram við tengingar tímasetja út vandamál sem mun aðeins versna og þú mælikvarði rist þinn.
  • Tryggja störf geta keyrt á starfsmenn þínum. Ef störf verða of minni ákafur eða diskur rúm ákafur störf hefst Hætti og það eina sem þú munt taka eftir er dropi í fjölda starfa unnin með enginn raunverulegur ástæðu hvers vegna.

Sendi Niðurstöður atvinnuleit

Þegar að senda inn niðurstöður vinnu er mikilvægt að athuga að árangur hefur ekki verið lögð fram af öðrum starfsmanni, sérstaklega ef núverandi starfsmaður hefur verið sofandi um nokkurt skeið.

Þegar niðurstöður eru lagðar að tryggja að fjöldi niðurstaðna samsvarar fjölda gagna innan starfi.

Eins og áður segir, og má ekki vera yfir áherslu, byggja kenna umburðarlyndi í sókn starf og niðurstöður uppgjöf. Starfsmenn geta (og líklega verður) að fara inn fresta háttur á the óþægilegur sinnum og þetta þarf að vera veitingamaður fyrir. Einnig ný abstracting burtu úrslit senda inn mun hjálpa koma til móts við um breytingar á starfi stjórna vélinni þinni miklu auðveldara að takast á við.

Yfirlit

Í þessu section höfum við litið á það sem stjórnkerfi starf miðlara þarf að gera og hvernig á að fá mjög einfalt kerfi sett upp. Við ræddum hvernig á að sækja vinnu frá eftirlitskerfi og hvernig best sé að stilla störf til að fá sem mest okkar á skrifstofu rist kerfi. Til að ljúka, var málsgrein eða tveir á að senda niðurstöður til baka til að stjórna vinnu miðlara fram.

  • A stjórna starf miðlara stýrir störfum og tryggir að öll vinna einingar er lokið
  • Með abstracting starf velja / niðurstöður uppgjöf við getum breytt tækni stjórna miðlara án þess að mikið vandamál
  • Stilla störf til að tryggja að þeir eru að keyra hratt og vel án þess að setja of mikið álag á innviði net, og án þess að endurtaka vinnslu verkefna með reglulegu millibili.
  • Gakktu úr skugga um að þú byggir kenna umburðarlyndi og villa checking í venjur þínar, starfsmenn geta stöðvað og haldið áfram og mest óþægilegur sinnum. Mundu að athuga hvort árangur hefur þegar verið lögð fram af öðrum starfsmanni.

Næst þegar

Í 3. hluta munum við búa til raunverulegur vinnsla vél okkar og setja upp Windows vélar okkar til að verða aðgerðalaus-tími starfsmenn.

Skrifstofa Tafla Computing með Virtual umhverfi - Part 5

Með því að og föstudagur 4. desember 2009 11:03 pm

Inngangur

I work in a company where we run many batch jobs processing millions of records of data each day and I've been thinking recently about all the machines that sit around each and every day doing nothing for several hours. Wouldn't it be good if we could use those machines to bolster the processing power of our systems? In this set of articles I'm going to look at the potential benefits of employing an office grid using virtualised environments.

In Part 4 we looked at using tools to ensure that we're running the latest version of the code and data sources so that obtained results are always up-to-date with the latest business information and logic.

Pre-Deployment

Before deploying your grid system if there's one thing you do and one thing alone it's benchmark your current system ! No matter what you tell colleagues about how much extra work your system is going to do unless you have numbers to back this up your guarantees are nothing. So,

  • how many records can you process currently? Per Day? Per Hour?
  • How long does it typically take to turn around a job?
  • How much more capacity do you have?

There's also additional questions:

  • If your processing server (or one of your processing servers) goes down how will this affect your capabilities, will you be crippled?
  • What advantages do you hope/expect to get from a grid system?
  • Are your office machines capable of running the jobs?
  • Are your (or can you jobs be converted) to wrok in this style of running?

The last major point is to take your time on any major change like this. Update your processing code to work using the new methodology, benchmark again. Possibly set up your processing server to run a virtual machine, after all your processing server will just be another worker (just a very powerful one relatively). Allow the new process to settle.

Deployment

My suggestion would be to pop into the office one weekend perform all the installations and setup. Do this just before a fortnight's holiday and leave so other poor chap to deal with the consequences… maybe not…

Deployment for a system like this needs to be slow. Despite it being relatively simple to set up this system will affect your entire office infrastructure (well the digital one). Firstly, roll out to a couple of machines at a time, monitor network traffic, how the worker hosts perform on a day-to-day basis. You may need to alter your job configuration in response to your findings.

Once the system has settled with a few machines (lets say 10% of all office machines, ie 5) keep monitoring network traffic and host machine performance. Next benchmark again, you should now be processing 33% more jobs than your first benchmarks. Check this is so, or that you're at least in this ballpark. If not, investigate what is going on before moving on. Repeat this cycle until you happily have all office machines running without killing individual machine performance or grinding your network to a standstill.

At all times keep benchmarking, even after all deployments are made. Check how new code updates affect speed of your system, check all workers are reporting in and processing jobs. Slowly (very slowly) increment your job configuration to get the best from your workers and network.

Stop!

What if you want to stop your workers from running at some time? They are all out there running, regenerating, and trying their best to process data like hungry insects. The answer may seem obvious but its worth adding just in case its overlooked. Simply edit your processing script with an exit(0) or die() or some other statement to kill your processing job. An important reason why we always try to update to the latest processing script before any run!

Demonstration System

In order to write this set of short articles I created a very small grid to demonstrate the technologies and methodologies. I read lots of articles, tutorials, and used various tools to setup and monitor what was going on. By no means have I gone out and saturated a whole office with traffic and nor have I had access to a regular staff members PC to see how host performance was affected.

My demonstration system was very humble indeed. I used my regular desktop set up as a job control server. On this I had installed mySQL server installed set up as a master in replication, PHP , and SVN linked through apache (for access via worker VM).

I then created a centOS worker machine on VirtualBox on a 6 year old windows XP laptop. I setup scheduled tasks as specified after copying the VM onto the machine and let it go.

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: Undirstöðuatriði - Review

Með því að og laugardagur 28. nóvember 2009 10:42

Vinnuveitandi minn nýlega greitt fyrir hóp af okkur forritara til að taka Zend ramma: Undirstöðuatriði námskeið, hér ég saman hugsanir mínar og skoðanir á námskeiði fyrir aðra. Fyrir þá sem leita að spara tíma, hér er yfirlit mitt:

Fyrir forritara sem hafa ekki haft tíma til að líta á Zend Framework þetta námskeið (Zend Framework: Undirstöðuatriði) býður upp á góða heildarmynd af ramma kynna þér helstu sviðum og gefa nægar upplýsingar til þess að halda áfram. Fyrir þá sem hafa eytt tíma í að skoða innan ramma og hafa fylgt eitt eða tvö námskeið þetta námskeið er ekki upp á mikið lengra.

Bakgrunnur

Ég hef verið PHP forritari fyrir um 5-6 árum, og hafa byrjað að vinna með Zend Framework á hluti miðað við síðustu 6 mánuðum. Ég hef þróað og / eða verið verktaki á nokkrum litlum Zend Framework MVC sites. ég að vera heiðarlegur, ég hef ekki haft mikið af völdum annarra ramma frá erfðaskrá sjónarmiði en hef eytt nokkrum klst að rannsaka verkefnið vefsíður og meta them. ramma og samfélag í kringum Zend Framework það er alveg spennandi og það virðast til vera gríðarstór möguleikar í þar og þess að fara.

Um námskeið

Námskeiðið er skilað yfir 9 tveimur klst WebEx fundur (með 10 mínútna hléi í miðju). Tíminn er varið fara í gegnum safn af glærum sem kveðið er á Zend með umræðu á hverjum tíma. Þú getur notað hljóðnema til að tala við kennara, en að vera heiðarlegur ég ekki séð neinn nota neitt meira en spjall gluggann. Auk þess VMware Ubuntu vél er veitt sem hefur dæmi kóðann og verkefni sett upp a réttarhald útgáfa af Zend Studio. Leiðandi auðvitað talar við mæta annaðhvort yfir samþætt VoIP lausn, eða þú getur hringja í að nota eitt af mörgum um allan heim hringja í númer.

Meðan efnið samanstendur af stutta yfirlit yfir ramma og MVC mynstur áður en stefnir í sýnishorn Gestabók umsókn. Umfjöllun sýnt bootstrapping, Zend_Application, DB Töflur og gagnasafn aðgang, eyðublöð, síun, ACL og Validating, etc, etc grundvallaratriðum nær öll efni sem þú vilt þurfa að fá undirstöðu síðuna upp gangi allan tímann gefa þér tæki til að fara og fá fleiri háþróaður í ramma (þó að þetta hafi mikið að "Sjá vefsins er mikið af tíma).

Tími er gefið að kóða upp nokkur dæmi, og til að þróa á 'gestabókina' og beitingu einfaldann 'wiki'. Persónulega fannst mér að veita kóðann eða hvert app og síðan spyrja okkur að þróa það var í raun afrit hlið ekki raunverulega veita góða nám. Ég hefði kosið að þróa forrit svipað, en ekki eins. til dæmis forritið með hagsbóta að hafa leiðbeiningar til að vísa til. Einnig að byggja upp forrit frá grunni með demonstrator myndi af hugsanlega leitt til fleiri spurningar um hvers vegna og hvernig, þannig að gefa betri skilning á ramma, eftir allt sem þú getur litið upp sérstakur eftir námskeiðið.

The last lecture consisted of working on the wiki application with help/guidance from the instructor. Eftir námskeiðið viðbrögð var tekin, var lögð áhersla á nokkrum sinnum í gegnum námskeiðið sem Zend tekur viðbrögð mjög alvarlega, í raun virðist útgáfa okkar af sjálfsögðu var alveg nýtt. Sumir af hinum verktaki í félaginu verður að taka námskeið fljótlega svo það verður áhugavert að sjá hvort þetta hefur gerst.

Námskeiðið stíl var óformleg, leyfa fyrir athugasemdir og samvinnu milli fundarmanna og kennara. Námskeiðið leiðtogi var vingjarnlegur, approachable (voru netföng hluti fyrir spurningar), og á meðan kynningu hans úr glærum var frekar óstöðug virtist fullkomlega hæfir í ramma. Hann var greinilega einhver sem nota ramma reglulega frekar en einhver sem er kennt að kenna námskeiðið, fannst ég reynslu á 'raunverulega heimi' í þeim efnum.

Heildarstigagjöf Feeling

Að sumu leyti fann ég auðvitað sóun á tíma, í öðrum það var mjög vel. Vonandi fæ ég ástæður mínar yfir skýrt og kannski gefa mat fyrir hugsun eða gagnlegt viðbrögð (vita mig þetta er ólíklegt!).

Fyrir mér þetta námskeið var ætlað að of lágt því stigi. Eftir að hafa farið í gegnum Quickstart Guide, lesa Rob Allen í Zend Framework í Aðgerð og unnið með ramma lítið ég vissi í raun ekki fá neitt of mikið. Ég myndi af líkaði námskeiðið til að ná sér upp úr í lok Quickstart og þróa fleiri færni.

Það sagði, að sjálfsögðu titill er skýrt "Zend ramma: Undirstöðuatriði" og í þeim þætti að sjálfsögðu fær það sem það setur út á að gera. Aðrir aðilar að þróun lið sem ekki hafa varið tíma að leita í ramma lokið hvers fundar með áhuga og spurningar sem var virkilega gaman að sjá.

Allt var ekki glatað, það var gott að eyða tíma staðfestir helstu upplýsingar um ramma og fá að spyrja nokkrar spurningar á svæðum þar sem ég var ekki 100%. Það var líka kominn tími til að ég fékk að setjast niður á hverjum degi og hugsa um forritun að nota ramma og framtíð verkefni, eitthvað sem ég myndi ekki tekist að gera annað (þú getur ímyndað fyrirtæki þitt að samþykkja það? :)). Síðast en ekki síst þú færð líka gott vottorð frá Zend að segja að þú sóttu námskeið (að vísu með tölvupósti).

Zend Framework vottun

Þetta var ein spurning sem hélt að koma upp í hugann meðan, það vildi undirbúa mig fyrir vottun? The fljótur, þægilegur er a hljómandi nr. Námskeiðið kennari var alveg ljóst á að með frekari ráðgjöf sem fyrir vottun sem þú ættir virkilega að nota ramma á degi til dags og finnst mjög þægilegur og öruggur í notkun þess og aðferðafræði.

Yfirlit

Í ljósi allt sem ég hef skrifað hér að ofan, mun ég draga allt í tveimur einföldum stig bullet:

  • Nýjar Zend Framework: Þetta námskeið er nákvæmlega það sem þú vilt búast við, það gefur þér gott kynningu á umgjörð og góða jarðtengingu á grunnatriði sem þú getur byggt. The course seems to generate interest and enthusiasm for the framework amongst developers.
  • Notað Zend Framework: Þó að það var gott að landi upp nokkra af grunnatriði ég fann tíma, fyrirhöfn og fé til að taka námskeiðið gæti af verið betur varið annars staðar. Það verður gaman að see Zend búa til nýja hærra stigi námskeið til að taka verktaki á næsta stig -. Að minnsta kosti til the staðall af vottun og víðar til að ég myndi skrá sig strax.

[Tilkynning] barn pid XXXX hætta merki Sundurliðun kenna (11)

Með því að og sunnudagur 11 október, 2009 6:09 pm

Ef þú hefur nýlega uppfærsla PHP eða Apache þú kemur kannski upp á móti útgáfu netþjóninn þinn skila auðar síður, og henda villa skilaboð í logs með enga hugmynd hvers vegna, hér er ein möguleg leið til að laga það ...

Ég hef haft þetta vandamál nokkrum sinnum undanfarið eftir að uppfæra Apache eða PHP á a raunverulegur vél. Í fyrsta skipti sem ég tók eftir villu sem ég skaut einfaldlega að taka öryggisafrit af VM minn en annað skipti sem ég sá að ég myndi þurfa að líta inn í málið.

Í fyrsta skipti sem ég tók málið sumir af vefsíðum mínum var verið að bera sem eyða skrám en aðrir unnu alveg fínn. Eftir nokkurn rannsókn og ég benti á að Apache var að skrifa út að / var / log / http / error_log með eftirfarandi skilaboð repeatidly:

[Tilkynning] barn pid XXXX hætta merki Sundurliðun kenna (11)

Það er ekki úthluta til að fara með á netinu, og flest af þeim síðum um það slóð á að engu. Það sagði ég minnkað niður útgáfu í PHP hrun þegar reynt var að óþarfa dynamic bókasöfnum.

Þegar litið er á php.ini minn (/ etc / php.ini) Ég sagði út alla dynamic bókasöfnum hlaðinn ætlar að tjá þær aftur í eftir þörfum. Þau tvö sem ég þurfti að taka út þar pdo.so og MySQL . svo.

Þegar þær voru fjarlægðar allar vefsíður mínar voru að þjónuðu fínn, eins og fyrir PHP / Apache uppfærslu.













Panorama Theme by Themocracy

10 gestir inni núna
7 gestir, 3 Botswana, 0 meðlimir
Max visitors today: 12 at 01:24 am UTC
Þessi mánuður: 26 á 04-04-2012 10:27 PM UTC
This year: 69 at 27-02-2012 09:56 am UTC
Allra tíma: 130 á 28-03-2011 10:40 PM UTC