Office Grid Computing gamit kapaligiran Virtual - Part 5
Pagpapakilala
trabaho ko sa isang kumpanya na kung saan tumakbo kami maraming jobs batch processing milyon-milyong mga talaan ng data sa bawat araw at ako ay iisip kamakailan lamang tungkol sa lahat ng mga makina na umupo sa paligid ng bawat at bawat araw paggawa ng wala para sa ilang oras. Hindi ba ito ay mabuti kung maaari naming gamitin ang mga makina sa magbolster ang pagpoproseso ng kapangyarihan ng aming mga sistema? Sa set na ito ng mga artikulo na ako ng pagpunta sa tumingin sa mga potensyal na benepisyo ng employing isang opisina parilya gamit virtualised kapaligiran.
Sa Part 4 kami tumingin sa paggamit ng mga kasangkapan upang masiguro na kami ay tumatakbo sa pinakabagong bersyon ng mga data at mga mapagkukunan code kaya na nakuha sa mga resulta ay laging up-to-date sa mga pinakahuling impormasyon ng negosyo at lohika.
Pre-pagpapadala
Bago paganahin ang iyong parilya sistema kung mayroong isang bagay na gagawin mo at isang bagay lamang ito ng benchmark iyong kasalukuyang sistema! Kahit ano ang sabihin sa iyo ang mga kasamahan tungkol sa kung magkano ang dagdag na trabaho ng inyong sistema ay pagpunta sa gawin maliban na lamang kung ikaw ay may mga numero sa likod na ito up ang iyong mga garantiya ay wala. Kaya,
- paano maraming mga talaan maaari mong proseso kasalukuyan? Bawat Araw? Per Hour?
- Gaano katagal ito ay karaniwang gawin upang buksan sa paligid ng trabaho?
- Gaano pa kapasidad ang mayroon kayo?
Mayroon ding mga karagdagang katanungan:
- Kung ang iyong pagpoproseso ng server (o isa sa iyong pagpoproseso ng server) goes down kung paano ito ay makakaapekto sa iyong kakayahan, ikaw ay baldado?
- Ano ang pakinabang gawin asa mo / asahan upang makakuha ng mula sa isang sistema ng grid?
- Sigurado iyong opisina machine kaya ng pagpapatakbo ng mga trabaho?
- Ay ang iyong (o maaari mong trabaho ma-convert) sa trabaho sa mga ito estilo ng tumatakbo?
Ang huling mga pangunahing punto ay upang dalhin ang iyong oras sa anumang malaking pagbabago tulad na ito. Update ng iyong code sa pagpoproseso sa trabaho gamit ang bagong pamamaraan, benchmark muli. Marahil set up ang iyong pagpoproseso ng server na tumakbo ang isang virtual machine, matapos ang lahat ng iyong pagpoproseso ng server ay lamang maging isa pang worker (lamang ng isang tunay malakas na isa medyo). Payagan ang mga bagong proseso upang tumira.
Paglawak
Ang aking mungkahi ay sa pop sa isang weekend opisina maisagawa ang lahat ng mga installation at setup. Gawin ito lamang bago ang labing-apat na araw ng bakasyon ng isang at iwanan kaya iba pang mahihirap na pumutok-putok sa pakikitungo sa mga kahihinatnan ... siguro hindi ...
Pagpapadala para sa isang sistema tulad ng ito pangangailangan upang maging mabagal. Sa kabila ng pagiging relatibong simpleng sa set up ng system na ito ay makakaapekto sa iyong buong opisina infrastructure (ng mabuti ang mga digital na). Una, igulong sa isang pares ng mga machine sa isang pagkakataon, monitor ng network ng trapiko, kung paano ang mga manggagawa hukbo gumanap sa isang pang-araw-araw na batayan. Maaaring kailanganin mong baguhin ang iyong trabaho configuration sa tugon sa iyong mga natuklasan.
Kapag ang system sa husay sa ilang mga machine (nagbibigay-daan sa sabihin 10% ng lahat ng makina sa opisina, ibig sabihin, 5) panatilihin monitoring trapiko sa network at host machine performance. Susunod benchmark muli, dapat mo ngayon ay pagpoproseso ng 33% mas maraming trabaho kaysa sa iyong unang mga huwaran. Suriin ito ay kaya, o na kayo ay hindi bababa sa halos katumbas na ito. Kung hindi, siyasatin kung ano ang nangyayari bago lumipat sa. Ulitin ito cycle hanggang sa ikaw ay may masaya sa lahat ng opisina machine tumatakbo nang walang pagpatay ng mga indibidwal na makina pagganap o paggiling ng iyong network upang humpay.
Sa lahat ng oras panatilihin ang benchmarking, kahit na matapos ang lahat ng deployments ay ginawa. Suriin kung bagong code update makakaapekto sa bilis ng iyong sistema, suriin ang lahat ng mga manggagawa ay uulat sa pagpoproseso at mga trabaho. Dahan-dahan (masyadong mabagal) pagdagdag ng iyong trabaho pagsasaayos upang makakuha ng pinakamahusay na mula sa iyong mga manggagawa at ng network.
Stop!
Paano kung gusto mong ihinto ang iyong mga manggagawa mula sa pagtakbo sa ilang oras? Sila ay ang lahat ng may tumatakbo, regenerating, at sinusubukan ang kanilang mga pinakamahusay sa proseso ng data tulad ng gutom na mga insekto. Ang sagot ay maaaring mukhang halata ngunit nito nagkakahalaga ng pagdagdag lamang sa kaso nito overlooked. Kailangan lang i-edit ang iyong processing script na may isang exit (0) o mamatay () o ilang iba pang mga pahayag sa pumatay ang iyong pagpoproseso ng trabaho. Isang mahalagang dahilan kung bakit kami laging subukan na update sa pinakabagong processing script bago ang anumang mga tumakbo!
Demonstration System
Upang sumulat ng set na ito ng maikling artikulo ko ay lumikha ng isang lubhang maliit na parilya upang ipakita ang teknolohiya at methodologies. basahin ako ng maraming artikulo, tutorials, at ginagamit iba't ibang mga kasangkapan sa setup at monitor kung ano ang nangyayari. Sa pamamagitan ng walang ibig sabihin ako makalabas at purong isang buong opisina na may traffic at wala usab ako nagkaroon ng access sa isang regular na PC miyembro kawani upang makita kung paano ang host ng pagganap ay apektado.
My demonstration sistema ay napaka magpakumbaba sa katunayan. Ginamit ko ang aking regular na desktop set up bilang isang server trabaho control. Sa ito ako had-install ng MySQL server installed set up bilang isang master sa pagtitiklop, PHP , Isang at SVN-link sa pamamagitan ng apache (para sa pag-access sa pamamagitan ng worker VM).
Ako pagkatapos ay lumikha ng isang makina centOS worker sa VirtualBox sa isang 6 na taong gulang windows laptop XP. Ako setup nakatakdang gawain gaya ng tinukoy matapos na kopyahin ang VM papunta sa makina at ipaalam ito pumunta.
Ang mga virtual machine ay naka-setup na PHP, pagsira, at MySQL. I checked out ang isang sangay pangalang 'manggagawa' mula sa aking mga server ng trabaho control repository at ginawa ba maaaring ito ay nai-update gamit ang 'svn update'. Susunod ako setup MySQL bilang isang alipin at nasuri na ang data ay Kinokopya mula sa MySQL sa server trabaho control down sa VM worker. Pagkatapos ng lahat ng ito ko setup ang bash script at ang cron trabaho.
My processing script talaga nagpunta kasama ang mga linya ng mga ito (tunay simpleng bagay-bagay):
- Basahin sa patlang ng pangalan
- Binibilang ang bilang ng mga katulad na pangalan sa isang table mula sa data source gaganapin sa VM
- Binibilang ang bilang ng pangalan ng nasa itaas ngunit malakas ang pangalan sa pamamagitan ng puwang (ibig sabihin pinangalanan, gitna, apelyido)
- Paulit-ulit ang proseso na ito 1,000 ulit
Ang bawat trabaho kinuha ng humigit-kumulang 20 minuto upang tumakbo. Sa isang punto ko binuksan ng ilang kopya ng mga manggagawa VM sa laptop bintana at bantayan ang mga trabaho ay Tinanggal sa pamamagitan ng bawat isa sa mga address ng IP worker. Sa puntong ito ko din nakumpirma pagtitiklop na awtomatikong-restart.
Aalis ang mga laptop na walang ginagawa nagresulta sa isang manggagawa na nagsisimula sa proseso ng trabaho mula sa server trabaho control. Kapag resuming laptop sa paggamit ay may isang pagkaantala ng tungkol sa 3-60 segundo, ito ay isang makatarungang halaga ng oras at mga kawani ay kailangang gawin ng kamalayan na ang kanilang mga makina ay maaaring i-pause para sa isang maikling habang kapag bumabalik ka sa makina. Mas bagong makinang hindi maaaring magkaroon ng isang i-pause ng matagal na ito. Ang mga benepisyo ng mga halaga ng pagproseso na ginagampanan ng mga machines sa panahon ng walang ginagawa ng panahon ay higit na lumamang miyembro kawani sa pagkakaroon na maghintay ng isang maikling panahon (say 1 minuto) sa pagdating sa kanilang mga makina ng isang umaga (madalas ko na maghintay na ito para sa isang Windows Defender update na kumuha ng lugar) na ibinigay sila ay ginawa ng kamalayan ng mga ito (mga kapaki-pakinabang na oras upang daklutin ang isang umaga kape!).
Pangkalahatang pakiramdam ang aking paniniwala na ako ay nagpakita ang mga teknolohiya na maaaring magamit upang lumikha ng tulad ng isang sistema. Ako ay pinapakita na ang mga ganitong sistema ay isang trabaho sa isang (tunay) maliit na antas at may ilang mga mas eksperimento ay maaaring kinaliskisan up magamit ang mga resources ng makina ng isang opisina's. Kung hindi ako makakuha sa punto ng paggawa na ito Gusto ko ay tunay interesado na malaman / makita kapag may ibang tao ay.
Pagpapalagay / Evaluation
Ang susunod na hakbang halata ay upang tunay na makakuha ng isang tunay na halimbawa mundo at simulan na lumawak ang isang sistema tulad ng mga ito sa loob ng isang kapaligiran ng opisina at makita kung ano ang mangyayari. Humihingi ng isang negosyo na gumawa sa ito na walang isang kumpanya tugaygayan nagliliyab na patunayan ang teknolohiya at pagiging epektibo ay maaaring isang maliit na mahirap. Parilya / ipinamamahagi computing ay tunay popular ay ang ilang mga bilog at may ilang mga malalaking mga aplikasyon (BIONC, SETI @ Home, Folding @ Home, etc). Ako did hindi, gayunman, maghanap ng isang mas maliit na sukat at simpleng sistema tulad ng ito sa aking mga paghahanap na maaaring lulon out sa loob ng isang kapaligiran ng opisina.
Lumikha ako ng talaga ng free system gamit ang halos lahat ng open source software at mga kasangkapan na magagamit sa halos anumang opisina. Ang teknolohiya ay nagpakita talaga at ipakita na gawin at gumagana tulad ng inaasahan. Sana ako ipakita na may hindi marami sa trabaho at sa isang napaka simpleng setup maaari mong lumawak isang opisina grid computing system na malakas, cheap, Isang scalable at ang lahat sa parehong panahon.
Kapag ang isang sistema ay tumatakbo na diyan ay halos walang katapusan sa halaga ng pagpapasadya at pagpapabuti maaari mong gawin. Halimbawa istatistika / benchmarking ay madaling ay naidagdag na nagpapakita ng halaga ng mga tulad ng isang sistema ng bawat araw. Bagong machine ay maaaring idinagdag mabilis at madali bilang at kapag dumating sila sa upgrade sa mga umiiral na hardware bolstering iyong pagpoproseso ng kapangyarihan.
Umaasa ako sa iyo Nasiyahan pagbabasa na ito serye ng mga artikulo at ang mga ibinigay sa iyo ng pagkain para sa isipan sa pagpapatakbo ng isang opisina sistema grid. Ang solusyon iniharap dito ay hindi kinakailangang trabaho sa lahat ng mga sitwasyon ngunit dapat ay madaling ibagay ang daan sa iyo upang makakuha ng iyong data processing ginawa gamit ang iyong sariling mga solusyon.
Mangyaring mag-atubili na magpadala ako ang anumang mga puna, pagwawasto, o mga pagpapabuti at makikita ko ang aking pinakamahusay na panatilihin ang artikulong ito update sa match.


















































[...] Ang huling bahagi ng serye na ito, aptly pinangalanan Part 5, aming usapan paganahin ang system na ito para sa. Kukunin ko lagumin ano ay natutunan at [...]
Howdy doon, Great artikulo dude! i am Pagod sa paggamit ng RSS feeds at gawin mong gamitin ang gayon ako ay maaaring sundin mo doon:? D.
PS: Gusto mo ba itinuturing ng paglagay ng video sa iyong blog upang panatilihin ang mga mambabasa na mas masaya sa tingin ko ito gumagana, Roland Gorychka?.
Tingnan ang twitter sa kanang bahagi ng bawat pahina. Salamat!