Ametikohad tagged: MySQL

Õpetus: DateTime default NOW ()

Autor , kolmapäev 30. detsember 2009 18:30

Olen olnud hädas luua andmebaasi skeemi uue Zend Framework projekti. Ma olen kasutamine üritab kasutada doktriin ORM minu andmebaas mudeleid. Mul on vaja luua schema, nii et see võimaldas mul luua default kuupäev ja kellaaeg `datetime` veerg, näiteks kui lisate uue sõnum saan praegune timestamp. Pärast palju otsida ja proovida, leidsin lahenduse, et ma olen seda jagataks.

Oma skeemi YAML fail lihtsalt teha järgmist:

 Message:
   actAs:
     Timestampable:
       loodud:
         nimi: created_at
         tüüp: timestamp
         formaat: Ymd H: i: s
       muudetud:
         nimi: last_updated
         tüüp: timestamp
         formaat: Ymd H: i: s
   veerud:
     ID:
       tüüp: täisarv
       peamine: tõeline
       autoincrement: tõsi
     nimi: string (255)
     email: string (300)
     message: string (2000)

Kui teisest küljest te ei soovi `updated_at` veergu saab kasutada järgmist:

 Message:
   actAs:
     Timestampable:
       loodud:
         nimi: created_at
         tüüp: timestamp
         formaat: Ymd H: i: s
       muudetud:
         Puudega: tõsi
   veerud:
     ID:
       tüüp: täisarv
       peamine: tõeline
       autoincrement: tõsi
     nimi: string (255)
     email: string (300)
     message: string (2000)

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 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.

Virtuaalne masin loodi PHP, õõnestamises ja MySQL. Ma kontrollisin välja filiaal nimega "töötaja" minu töö kontroll serverid hoidla ja kindlaks teinud, see võib ajakohastada, kasutades "svn update '. Edasi ma setup MySQL ori ja kontrollinud, et andmed on imitatsiooniga MySQL töökohal kontrolli server maha töötaja VM. Pärast kõike seda ma setup bash script ja cron töö.

Minu töötlemise script põhiliselt läks sarnaselt see (väga lihtne värk):

  • Loe nime valdkonnas
  • Arvestatakse paljude sarnaste nimede tabeli andmeallikas toimus VM
  • Arvestatakse mitmeid nimesid, mis eelmine, kuid jagamine nimi tühikutega (nt eesnimi, keskmine, perekonnanimi)
  • Kordas seda protsessi 1000 korda

Iga töö võttis umbes 20 minutit joosta. Ühel hetkel avasin mitmes eksemplaris töötaja VM Windows arvutisse ja vaatasin töökohti kontrollida maha iga töötaja IP aadresse. Sel hetkel ma ka kinnitas, et replikatsiooni automaatselt uuesti.

Jättes sülearvuti idle põhjustas töötaja hakkab töötlema töökohti töö kontroll server. Kui jätkamist sülearvuti kasutamine viibis umbes 30-60 sekundit, see on päris palju aega ja töötajaid oleks vaja selgeks teha, et nende masin võib paus lühikest aega naastes masin. Uuemad masinad ei pruugi olla paus selle pikk. Kasuks summas töötlemine läbi nende masinate ajal tühikäigu perioodidel oleks rohkem, et kaalub töötajatele, kes ootama lühikest aega (näiteks 1 minut) on jõuda oma masinad hommikul (ma sageli kauem ootama, et seda Windows Defender ajakohastama, et võtta koht) tingimusel, et nad olid teadlikud sellest (kasulik aeg haarata hommikukohv!).

Üldiselt Olen kindel, et olen tõestanud tehnoloogiaid, mida võiks kasutada, et luua selline süsteem. Olen näidanud, et selline süsteem ei tööta on (väga) väikesed ja veel mõned katsetavad võiks ülespoole kasutada vahendeid ameti masinaid. Kui ma ei saa, kuni punktini, tehes seda Oleksin väga huvitatud teada / näha, kui keegi teine ​​teeb.

Järeldused / hindamine

Järgmine selge samm oleks tegelikult saada reaalses maailmas eeskuju ja hakata kasutama süsteemi, nagu see jooksul bürookeskkonna ja vaata, mis juhtub. Küsid äri pühenduma see ilma rada lõõskava ettevõte tõestada tehnoloogia ja tõhusus võib olla natuke raske. Grid / Distributed computing on väga populaarne on mõned ringid ja on mõned suured rakendused (BIONC, SETI @ Home, Folding @ home jne). Ma ei ole siiski leida väiksemate ja lihtne süsteem, nagu see minu otsingud, mida võiks rullitakse jooksul asukoht keskkond.

Olen loonud põhimõtteliselt vabad süsteem, kasutades enamasti avatud lähtekoodiga tarkvara ja vahendeid peaaegu igas kontoris. Tehnoloogiad olid põhiliselt näidata ja näidata täita ja töötada ootuspäraselt. Loodetavasti on mul näitavad, et ei ole palju tööd ja väga lihtne setup saate kasutada kontori võrku arvuti, mis on võimas, odav, ja laiendatavat kõik samal ajal.

Kui süsteem on ja töötab seal on peaaegu mingit lõppu summa kohandamine ja parandusi saab teha. Näiteks statistika / võrdlusuuring võib kergesti lisada näitab väärt sellise süsteemi iga päev. Uued masinad saab lisada lihtsalt ja kiiresti, kui nad saabuvad uuendused olemasoleva riistvara toetades oma võimsusest.

Loodan, et olete olnud loed seda mitmed artiklid ja andnud teile mõtteainet, töötab kontoris võrgusüsteemi. Lahendus siin esitatud ei pruugi töötada igas olukorras, kuid peab olema kohandatav, et võimaldada teil saada oma andmetöötlus teha kasutades oma lahendus.

Palun saatke mulle märkusi, parandusi või parandusi ja ma teen oma parima, et hoida käesoleva artikli uuendatud sobitada.













Panorama Theme poolt Themocracy

3 külalist nüüd
2 guests, 1 bots, 0 members
Max Külastusi täna: 15 at 05:20 am UTC
Sel kuul: 26 kell 2012/04/04 10:27 UTC
Sel aastal: 69 at 27-02-2012 09:56 am UTC
All time: 130 at 28-03-2011 10:40 pm UTC