Мислења обележани: решетка

Канцеларија мрежа компјутери со користење на виртуелни средини - Дел 4

Со , петок 4 декември 2009 година 11:59

Вовед

Јас работам во компанија во која трчаме многу серија работни места обработка милиони на евиденција на податоци секој ден и јас си помислив неодамна за сите машини кои седат околу секој ден не се прави ништо за неколку часа. Зарем не би било добро ако би можеле да ги користат овие машини за да ја зајакне моќ на процесирање на нашите системи? Во овој сет на статиите, ќе одам да се погледне на потенцијалните придобивки од вработување на канцеларија мрежа користење виртуализирани средини.

Во Дел 3 ние направивме нашата виртуелна машина за обработка и конфигурирате Windows машини за да стане мрзлив работно време.

Водење на најновите кодот

Неизбежно по создавањето на вашите работници бизнис логика ќе се промени, бубачки ќе се најде, побрзо поефикасно кодот ќе бидат произведени со тоа оставајќи вашата работници са околу обработка на податоци со помош на стари миризливи код . Како тогаш ние да се осигура дека ние сме секогаш со користење на најнова и најголема верзија на нашата обработка на скрипти?

Постојат неколку многу лесно едноставни начини ние би можеле да го направите ова, трик, сепак, е да се намали процесорска моќ и мрежниот сообраќај во остварувањето на ова. Да започнеме едноставно, со наједноставен на решенија и да се подобри тоа полека со текот на неколку повторувања.

Со првиот метод ќе биде едноставно да се поврзете со нашата работа за контрола на серверот (преку самба, FTP, или слично) и повлечете надолу на најновата верзија на кодот. Не е многу ефикасна, но тоа ќе ја заврши работата. Ај да се подобри на тој малку, како за создавање на rsync скриптата и со користење дека секој пат наместо неа? Алтернативно, она што за ставање на нашите најновите обработка на скрипта во субверзија одјавувањето на кодот на почетокот, а потоа само ажурирање на нашите код на секој работи ( svn ажурирање )?

На крајот, би можел да заврши со сценариото баш (наречен од cron секои 10 минути) кој изгледа толку едноставно како ова:

  #! / Bin / sh
 ако ps ax | grep-v grep | grep PHP > / dev / null
 потоа
     echo "работа е во процес на обработка, излез"
 друго
     echo "Јов не се извршува, да започнеме сега"
     CD / патека / до / работа / копирање
     svn ажурирање
     PHP yourJobProcessingScript.php
 -fi 

Сега можеме да бидеме сигурни дека со секој работи ние сме дефинитивно работи за најновата код. Ние сме обезбедување ова со ажурирање на нашите кодот база во секое време се вршат за да се кандидира и намалување на мрежниот сообраќај од само пренос на датотека разлики низ нашата мрежа.

Во мојот демонстрација подесување, го направив точно како погоре. Субверзија беше инсталиран на мојот работа за обработка на сервер и јас едноставно се повлече најновите кодот од "работник" гранка користење на "svn ажурирање. Јас исто така, додаде бројот на верзијата таг за да ја обработка на скрипта која беше вратен во базата на податоци како дел од резултатите се вратат. На овој начин можев да видам дека мојот код беше се ажурираат секој пат кога копира моето стебло во работник гранка, односно дека сум бил дефинитивно работи за најновата обработка на скрипта.

Помош на најновите податоци

Доколку вашата работа обработка прави користењето на извори на податоци, тогаш во некој момент овие се случува да се ажурираат премногу. Освен ако не се јавите на вашиот извори на податоци на многу ретко основа си оди за да ги поплави вашата мрежа со сообраќај веднаш штом вашите работници почнат да оперираат со што се во ќорсокак. За мојот решение решив дека сакам да се движи мојот извори на податоци со околу мојата виртуелна машина.

Држете си коњи таму! Што ако мојот извори на податоци се огромни? Па ова навистина е случај за тоа колку податоци се зборуваме? Тоа може да бидат повеќе исплатливи да се инсталира дополнителна поголем хард диск во секоја машина, отколку да купите дополнителна обработка серверот. Ова е прашање на буџетот и е до бизнис да се одлучи. Можеби дека вашите податоци извори се толку големи што тоа е само неизводливо да го задржи дека износот на податоци во Вашиот работник машини. Во тој случај што ќе направиш? Па би можеле да се погледне во нарекувајќи локалните податоци на серверот, но ова може да предизвика проблеми со мрежата. Во овој случај мрежа систем, како што тоа може да стане нереално да се вклучат во вашиот канцеларија на животната средина. Таа, исто така може да биде што ќе може да се погледне во алтернативни работи стратегии, за пример само повикувајќи вашиот работници 20:00-06:00 секоја ноќ и / или Дроселиране извор на податоци барања.

Преселба на да речеме нашите извори на податоци изнесува 100GB на податоците. Па да тоа е сосема малку на податоци да се движи околу мрежата на ажурирање. Како ние ќе се осигура дека имаме најновата копија на податоците во овој случај? Rsync е само една можност, но лично мислам дека со извршување на вашиот најновите извор на податоци од вашата работа обработка на серверот и поставување на ова се како господар во репликација (со убав долго бин се логирате) може да биде начин да одам:

репликација Со поставување на секој од вашите работници се како роб на работа за контрола на серверот на ажурирања на вашиот извори на податоци ќе браздичка надолу убаво на вашиот работници без огромен пораст на мрежна активност (што е, освен ако не се изврши огромен ажурирање на податоците и сите твои работници удар во одеднаш). Ова има предности во однос на rsync со тоа што нема да добие долга пауза пред секоја работа; како база на податоци надградби, MySQL серверот на вашиот работник постојано ќе ги ажурира своите податоци додека обработка продолжува.

Ова е како јас поставам мојата демонстрација серверот. Да се постави репликација го следев упатството за сајт MySQL ( Поставување на репликација ) и во рок од 20 минути имав мојот inital работник реплицира на работа контрола сервери базата. За секоја дополнителна работник на репликација поставувања и процесот работел секој пат кога В.М. бил копиран.

Резиме

Во овој дел на статијата имаме погледна колку е лесно и безболно тоа е да се запишеш за обработка на кодот до датум до using rsync или subverion (SVN) да ја заврши работата и да се намали мрежниот сообраќај во исто time. Ние, исто така, разговараа како да ги задржи вашите податоци извор на информации до-to-date од тоа што овозможува да циркулира до секој од вашите работници. Така можеме да област се осигура дека ние се држи чекор со бизнис логиката и информации во нашата канцеларија мрежа систем. Има очигледно ќе биде безброј алтернативи за извршување на овие задачи, но тука беа два едноставни примери за да покаже колку е лесно решение е да се дојде до.

Следниот пат

Во завршниот дел од оваа серија, потполност наречен Дел 5 , ние ќе разговараме имплементирање на овој систем за. Ќе ги сумирам она што се дознава и она што јас успеав да се создаде.

Канцеларија мрежа компјутери со користење на виртуелни средини - Дел 3

Со , петок 4 декември 2009 година 23:37

Вовед

Јас работам во компанија во која трчаме многу серија работни места обработка милиони на евиденција на податоци секој ден и јас си помислив неодамна за сите машини кои седат околу секој ден не се прави ништо за неколку часа. Зарем не би било добро ако би можеле да ги користат овие машини за да ја зајакне моќ на процесирање на нашите системи? Во овој сет на статиите, ќе одам да се погледне на потенцијалните придобивки од вработување на канцеларија мрежа користење виртуализирани средини.

Во Дел 2 ние погледна на работни места на серверот ќе се кандидира, и како работни места треба да биде конфигуриран со цел да се постигне најголемата количина на обработка додека се обезбеди дека секоја работа се обработуваат без да успее.

Поставување на вашиот работник - или Limp сервер

Следниот чекор во процесот е да го поставите вашиот виртуелен работници. За ова, ќе одам да го користите за инсталација на CentOS користење VirtualBox. Одам да го инсталирате MySQL и PHP на серверот, исто така позната како Limp (Li nux, м ySQL, P HP) Server (можеби сум го направи тоа име нагоре).

  • Инсталирате VirtualBox на вашиот Windows машина (следи линк)
  • Преземете и инсталирате CentOS (моменталната верзија 5.3) во рамките на виртуелната машина создадена

Нема смисла да ме случува на оваа има веројатно 1.000 "и на голем вежби таму (Во ред, еве еден: Креирање и Managing CentOS виртуелна машина под VirtualBox ). На важна точка да се напомене Претпоставувам дека е тоа што јас го повикував мојот виртуелната машина GridMachine.

Што се однесува до мојот избор на виртуелизација клиентот и оперативен систем одиме таму не е голема причина за секој избор. VirtualBox е нешто јас го користам на мојот дом машина и е поддржан од страна на три главни оперативни системи. Избрав CentOS како свој добар стабилен оперативен систем и јас го користам на мојот сопствен веб сервер. Јас сум голем верник во право алатки за работа (иако јас сум примена "се користи најбрзиот и најлесен за вас" менталитет тука), па ако оперативен систем Х работи вашиот код побрзо и поефикасно ја користат таа наместо :)

Поважно бидете сигурни дека вашата В.М. користи DHCP, во спротивно за секој нов виртуелната машина ќе треба да се конфигурира одделно кој е нешто што не want.By користење на DHCP ние не треба да конфигурирате поставувањата на мрежата поединечно за работник машини, DHCP ќе рака од IP адреси за вас. Затоа можете да ја копирате вашата виртуелна машина за канцеларија без да се грижиш за поставување на секоја една до (ова го подобрува приспособливост и го намалува работник администрација).

Процесот треба да имаат за цел да се постигне ќе биде да се добие нов физички машина, инсталација VirtualBox, а потоа и доста распоредување на виртуелната слика без многу друго. Тоа може да биде мудро да го поставите на сите ваши работници на различни подмрежа, така што ќе може барем да видиме како многу машини се работи. Вие исто така ќе треба да го поставите вашиот машини на долго закуп или неограничен закуп DHCP.

Како да се кандидира Вработувања на работникот

Ова е интересна област и постојат неколку валидни методи за обработка на работни места на работникот. Еве јас само ќе разговара за две најочигледни:

  • Постојано работи скрипта: А сценариото, било да е тоа школка скрипта, или скрипта PHP се извршува еднаш на работникот и работи како дел од бесконечна јамка. Сум намалена овој метод како еден несреќа на сценариото и потенцијално вашата работници ќе престане да работи без некој вид на интервенција.
  • Cron скрипта базирани Извршување: Секој Х минути на cron демон започна повик за вашата скрипта да се работи случува. Без некои проверка ова би можело да доведе до многу многу копии од вашите работник скрипта работи.

Мојата одлука беше да се оди со cron која започна школка скрипта секои 10 minutes. мојата школка скрипта ги врши следниве задачи:

  1. Добие процес листа и grep ова за 'PHP'. Ако не е пронајден потоа продолжи.
  2. Повик вашата работа код, во мојот случај тоа ќе биде нешто PHP базирани
  3. Работник скрипта завршува своите работи
  4. Подготвен да оди повторно на следната соодветни повик

Мој баш скрипта изгледа нешто како следново:

  #! / Bin / sh
 ако ps ax | grep-v grep | grep PHP> / dev / null
 потоа
     echo "работа е во процес на обработка, излез"
 друго
     echo "Јов не се извршува, да започнеме сега"
     PHP yourJobProcessingScript.php
 -fi 

Забелешка: ехо се речиси целосно бесмислени, но може да им помогне на следната личност која доаѓа заедно да се обидат и уредување нив.

Тоа се заклучува постави на работникот виртуелната машина, брза, едноставна, и лесно да ги копирате на секој нов парче хардвер кој е примена. На "мудрост" на мрежа систем навистина не е во визуелизира оперативен систем, нејзината сите да се направи со код создаден за да процес работни места, работата конфигурација, и во што си сигурен дека работата тече, кога е соодветно (т.е. кога домаќин е неактивен ).

Поставување на Windows да Initialise работници

Првата задача е да работат надвор од командата бара да се кандидира на виртуелната машина од командната линија прозорци. Ако сте го инсталирале VirtualBox во стандардната локација и сте именуван вашиот работник GridMachine тогаш командата бара да се вчита до вашиот работник е:

  "C: \ Program Files \ Сонце \ VirtualBox \ VBoxManage.exe" startvm GridMachine 

Сепак за да се кандидира на сценариото во "глава" состојба ние треба да ја користите:

  "C: \ Program Files \ Сонце \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = исклучен 

Ова ќе започне на виртуелната машина без GUI и оставете ја да се спаси државата благодатно. Вториот аргумент се исклучува RDP па тоа не се случи судир со Windows RDP, или ви даде порака за слушање на порт 3389. Виртуелната машина име е големи и мали букви!

Следно, ќе треба да го поставите прозорците до започне нашиот работник В.М. еднаш на машината е неактивен. Да се ​​направи ова (на Windows XP), која ќе треба да одат Start -> All Programs -> Галантерија -> System Tools -> закажани задачи како што е подолу:

листата на закажани задачи

Следна кликнете на 'Додај закажани Задача "проследена од разгледате за да додадете сопствени програма. Да стигнете до вашата VBoxManage скрипта и кликнете OK. Распоред на вашиот задача за која било од опциите (ние ќе го промените ова во минута) и да се продолжи. По прескокнувањето на следниот екран прозорци ќе побара од вас кој сакате да ја извршите оваа задача, јас му сугерираат или "Администратор" или создавање на нови привилегиран корисник. Запомни ние не сакаме да се меша со стандардот на персоналот сметка на машина во кој било момент. Кликнете на Next и да се провери Покажи ги напредните опции за оваа задача.

До крајот на трката TextBox додадете стринг "startvm GridMachine" и да осигура дека се кандидира само кога сте најавени се остава unticked. Посетете го распоред задача следната и промена на распоред паѓачкото на опцијата "кога сум неактивен, изберете количина на време би сакале на машината за да биде неактивен пред да продолжите на следното јазиче.

Конечно untick опција во кој се наведува запре задача ако тоа се одржува Х сума на време, но не штиклирајте ја опцијата за да се запре задача и ако на машината повеќе не е неактивен.

распоред

Тоа е тоа, тогаш за домаќин Windows Setup!

Резиме

Во овој дел ние се постави виртуелна машина да дејствува како работник, како и начинот на кој ние го нарекуваме и извршување на нашата работа за обработка на скрипти (за мене скрипта PHP). Од тука гледаме како да се постави нашата копии на Windows да ја стартувате виртуелната машина во глава на владата кога компјутерот станува празен, и спаси својата држава кога корисникот ќе ја продолжи употреба на машината. Се надевам дека во овој момент гледате тоа како едноставна е да се постави таков систем и се чешање да се добијат некои експерименти си оди!

Следниот пат

Во Дел 4 ќе се гледа во користење на алатки за да се обезбеди дека сте водење на најновата верзија на кодот и извори на податоци, така што добиените резултати се секогаш во тек со најновите бизнис информации и логика.

Канцеларија мрежа компјутери со користење на виртуелни средини - Дел 2

Со , петок 4 декември 2009 година 11:23

Вовед

Јас работам во компанија во која трчаме многу серија работни места обработка милиони на евиденција на податоци секој ден и јас си помислив неодамна за сите машини кои седат околу секој ден не се прави ништо за неколку часа. Зарем не би било добро ако би можеле да ги користат овие машини за да ја зајакне моќ на процесирање на нашите системи? Во овој сет на статиите, ќе одам да се погледне на потенцијалните придобивки од вработување на канцеларија мрежа користење виртуализирани средини.

Во Дел 1 дадов преглед на системот и технологии ќе биде со користење, како и како што беше дискутирано некои од потенцијалните причини зошто вие би сакале да се создаде канцеларија мрежа.

Работа контрола

Ако си оди за да се работи работни места, тогаш се случува да треба некој начин да управуваат со нив. Вашата работа на системот за контрола (на вашата работа сервер) треба да биде навистина добро обмислен пред дури и се обидува да се кандидира канцеларија мрежа. Значи прво, она што се задачите за работа на системот за контрола:

  • Рака работни места по барање од работниците
  • Кажете работници каков тип на работни места за да се кандидира
  • Песна работни места
  • Осигурајте се дека работите се работи само еднаш
  • Обезбеди работа податоци за работниците, или барем да им каже каде да го добие

Системот, исто така треба да биде растеглива, решение кое работи сега за сега во еден случај може да се продолжи да се кандидира неколку видови на работни места, како на бизнис го гледа во вредност од мрежа решение. На пример, работни места може да се здобијат со приоритети, повеќе од еден тип на работата може да постои (т.е. неколку кодот бази), на крајот дури и може да работи на неколку различни работник машини кои се оптимизирани за секој тип на работа (иако тоа не се движат подалеку од "генерички работник "идеја). Секогаш се трудам да се размислува за иднината, кога развој системи, краток рок визија може да доведе до долгорочно фрустрација и зголемување на развој време.

Работа Server

Ние ќе треба некаде да се контролира нашата работа од, ова треба да биде единствениот систем во вашата мрежа која има фиксна локатор, да биде дека IP адреса, името на домаќинот, рачно (со користење на внатрешниот DNS), итн Тоа е затоа што работниците треба да знаат каде да бараат работа, работниците треба да се најде работа системот за контрола на (не на работа на системот за контрола се најде на работници).

На работа серверот сам по себе не навистина имаат комплицирана задача (во основен систем во секој случај), таа треба да се сместат листа на работни места, од рака, работни места, да се примаат резултати, а потоа и ги чува за подоцна пронаоѓање. Како овие делови (како "од рака работни места") се дефинирани може да биде многу основни. Подоцна може да се прошири системот да го вклучите администрација интерфејс за да додадете, уредувате, бришете, да го суспендира работни места, но ова е надвор оваа вежба.

Нема причина она тогаш дека вашата работа серверот не може да биде виртуелната машина работи во рамките на вашиот главната обработка на серверот доколку не се исцеди премногу ресурси од него. На работа на серверот сепак е потребна висока достапност, ако тоа оди надолу на вечерта петокот си оди за да се изгуби целиот викенд на обработка, потенцијално да ве чини неколку недели во вредност од времето за обработка (во споредба со вашата главна обработка на серверот сам) . Можеби ќе сакате да се разгледа ставајќи вашата работа сервер на товар избалансиран животната средина за висока достапност.

Основното поставување

Основните подесување за нашата работа серверот ќе се состои од она што јас го повикувам еден од моите Limp сервери (што е Li nux, м ySql, P HP). На код се извршува на Thea работници, всушност, ќе работат од она што работни места тоа може да работи преку интеракција со со работа системот за контрола на бази на податоци. Подоцна би можеле да се создаде веб сервис, а всушност од рака работни места наместо на работниците прават напорна работа самите себе, но сега за сега ние ќе продолжиме со користење на KISS принцип (Нека биде едноставно, глупав!).

Значи, да се создаде три MySQL табели да се справи со работни места. Тие ќе бидат `работни места`, `jobRecords`, и `jobResults`.

работни места маса Еве јас користам SQL Бади голем малку алтернатива на phpMyAdmin само поради тоа што нејзините полесно да се инсталира на CentOS (за другите да видат: 10 Велики алтернативи на phpMyAdmin )

Оваа табела се состои од 5 едноставни полиња,

  • ID: Уникатно идентификуваат работа
  • Име: Може да биде клиентот референца, или било кој број на други идентификатори
  • Статус: Вие треба да знаете каде што работа е во, на пример,
    • 0: Не е стартуван
    • 1: зедов
    • 2: Завршено
  • started_by: Кој започна да прави на работа? Ова не е целосно потребна, но е убаво да се имаат. Би му сугерираат следење на работниците со нивната IP адреса на вашата мрежа
  • started_at: Кога работникот започне на работа? Со следење на работни места кои не се заврши во рок од Х сума на времето што знаеме ние треба да ги собереш на работа уште еднаш и да почне обработка од страна на друг работник. Работници би можеле да запри со обработката / go присутен за било кој број на причини, прекин на електричната енергија, несреќата, мрежна загуба, итн

Тоа е лесно како оваа табела може да се прошири со неколку дополнителни полиња за да се овозможи статистика СЛЕДЕЊЕ, финиш време колона да видите колку долго на работа зеде, контра за да видите колку работници зедов работата (очигледно ова треба да се стремат кон 1), работа приоритет, листата може да продолжи и натаму. Во посложени работа сценарија тоа ќе биде можно да се определи колку меморија на работникот ќе им треба пристап до (а со тоа само го користите соодветни работници), или дури и каков тип на работник ќе биде потребен.

Ај додадете неколку пример работни места:

пример работни места

Во следната табела повторно е доста едноставна да се разбере, овие се наша работа записи. Тие се поврзани со основни работни места, маса од страна колона `jobs_id`. Сочинуваат на оваа табела многу зависи од податоците кои ви се потребни за снабдување на вашите работници, да се направи еден многу едноставен пример, каде што имаме четири колони:

  • : ID на рекорд
  • Име: Име на лицето
  • адреса: адреса на лицето
  • jobs_id: На работа ID што овој рекорд е поврзано со

Третата и последна маса се состои од еден резултати маса, таа има многу исти сочинуваат како што е нашата евиденција маса, и со додавање на некои колумни би можело да биде дел од евиденцијата табела:

  • job_record_id: линк резултатот на работа маса
  • резултат: Резултат податоци

... И тоа е се што ви треба за работа контрола! (Иако во многу основно ниво) Во мојот случај јас сум укажа на друга маса каде што моите податоци на процесот бил лоциран, но тоа може само така лесно е датотека, параметри да се кандидира симулација код, можете името на таа.

Изборот на работа

Како што е наведено претходно, работниците ќе се потрудиме работа за управување со за нас сега за сега, така што сите ние треба навистина да направите е да најдете работа што треба обработка и да добијат информации. Како ние би го направил тоа? И изберете нашата работа критериуми за селекција и да бараат работни места, во SQL го направив следново:

  1. Да ги преземат сите работни места кои не се означени како завршен, но од нашиот работник и ресетирање на нив (замени __ ME__ со идентификатор, најлесен ќе биде IP адреса):
     Ажурирање `работни места` СЕТ `статусот` = 0 КАДЕ `статусот` = 1 И `started_by` = __ ME__; 
  2. Користење на нашата работа критериуми за селекција, изберете работа и да се каже систем за контрола дека овој работник е се занимаваат со неа:
      Ажурирање `работни места` СЕТ `статусот` = 1, `started_by` = __ ME__, `started_at` = СЕГА () КАДЕ `статусот` = 0 или
     (`Статусот` = 1 И `started_at`> DATE_SUB (сега (), интервал Х час)) Подреди по `id` ASC; 

    Од грабање работни места кои не се вратија резултати во Х сума на времето ние се осигура дека сите работни места се одвива во случај на работник паѓа или ќе awol.

  3. Следна го дофати работни места детали проследено со евиденцијата себе:
      Select * from `работни места` КАДЕ `started_by` = __ ME__ ГРАНИЧНИТЕ 1;
     Select * from `job_records` КАДЕ `id` = __ JOBID__; 

По завршувањето на работа се внесува нашите резултат евиденција и одбележување на работа како завршена. Запомни како работни места може да суспендирање / продолжување во секое време им овозможи за некои стабилноста во Вашата скрипта. Тоа може да биде дека задачата суспендира половина пат низ ажурирање на работа на системот за контрола, па проверка на бројот на записи во една работа, а бројот на резултати спаси назад на работа на системот за контрола ќе биде мудар потег.

Покрај тоа, додека Ова покажува колку работни места може да бидат избрани и успеа од SQL-пребарување рамка што навистина треба да се црпење на вашата работа контрола, така што, ако одлучат да се префрлат на користење на веб сервис, датотека базиран систем, XML , или било која друга број на системи за тоа нема да влијае на кодот над неа.

Работа Конфигурација

Следниот аспект е да се разгледа работа големина и конфигурација. Како играат со работа вашата конфигурација може да штрајк одличен баланс помеѓу брзина, процесот репликацијата, и сигурност. Да потрае неколку ОРД сценарија:

  1. Работни места се земе 1 ден секој да се кандидира: Ова значи дека вашиот работниците треба 15 дена да се процесира секое работно место (се сеќавате на 10% од моќта за 2/3rds на време). Ова не е јасно мудар конфигурација, вашата работа големина е премногу голема! Тоа ќе бидат потребни најмалку двојно време за да се добие работа обработени првичните работник треба да оди awol (време да собереш дека тоа не ја вратил резултат плус преработка време). Во еден идеален ќе треба најмалку една целосна работа лесно ослободен од крајот на секој долг неактивен период, на тој начин да се задржи на работни места темпирана над и во најлош случај работа ќе потрае два дена за да процесот на прво треба да одат водат за исчезнати.
  2. Работни места се 1 минута да се кандидира: Ова значи дека вашето работници трае околу 15 минути за да ја стартувате секоја работа. Додека ова уште на почетокот може да изгледа идеално, да се добие дополнителна работа за обработка за време на ручек време, паузите за кафе, состаноци, итн ова сценарио става притисок врз други области на вашиот систем и ги воведува свои проблеми. На пример, прво вашиот подесување / време за обработка на сооднос се случува да одам право надолу, па затоа губи ефикасноста на системот. Вашата мрежа ќе биде постојано стриминг работа информации на различни работници фрустрирачки за вработените кои се донг нивниот ден на ден работа. Ти си исто така ќе се стави повеќе вирус на вашата работа обработка на серверот, како што има да ни ги подметне многу, многу мали парчиња на работа, на редовна основа. И на крај, во оваа ситуација ако вашата работа серверот оди надолу си оди за да се создаде огромен назад најавите на нецелосен работа додека поголеми работни места може да продолжи на обработка на блажено свесни дека работата серверот беше тешкотии.

Во реалноста нема да има една идеална конфигурација за мрежа поставувањето, многу зависи од расположливите ресурси, видови на работа, работа пресврт време барања, мрежа способност, и така натаму. Сепак, некои насоки ќе бидат:

  • Големина на работни места, така што секој работник може да се добие низ најмалку 3-4 работни места во рок од 15 часа (најдолго најверојатно неактивен временски период)
  • Играј со работа големина, така што подесување време станува прилично незначаен во споредба со времето за обработка (имајќи го во предвид погоре точка).
  • Ако има некоја работа не заврши во дупло време (можеби помалку) што се очекува тоа да се заврши се претпостави дека неговата качил awol и да почне обработка со друг работник. Ова значи дека можеби ќе треба да чекаат до три пати повеќе од нормална должина на работа за тоа да се заврши (можеби повеќе, ако после работа не). Можеби ќе сакате да се намали тоа време, но бидете внимателни да не го намали премногу како што може да започне повторување обработка на задачи на редовна основа.
  • Работни места треба да бидат независни од надвор барања колку што е можно. На работа на серверот, на пример, само треба да се контактира на почетокот и на крајот на секое работно место.
  • Не го задоволите вашиот мрежа, тоа ќе има два негативни ефекти, вашата дневна персонал ќе се најде со помош на мрежата фрустрирачки и проблеми може да биде искуство со врски тајмингот од еден проблем кој само ќе се влоши како ќе го зголемите вашиот мрежа.
  • Обезбеди работни места може да работи на вашиот работници. Ако работни места стане премногу меморија интензивна или простор на дискот интензивна работа ќе започне прекинувам и единственото нешто што ќе забележите е една капка во бројот на работни места, обработени со никаква конкретна причина зошто.

Поднесување на резултатите од работа

При поднесување на резултатите од работа, важно е да се провери дека резултатите не се поднесени од страна на друг работник, особено ако тековната работник е хибернација за некое време.

Кога резултатите се доставени се осигура дека бројот на резултати се совпаѓа со бројот на записи во рамките на работа.

Како што е наведено претходно, а не може да биде над нагласи, се изгради толеранција на грешка во работа на пронаоѓање и поднесување резултати. На работниците може да (и, најверојатно, ќе) одат во суспендира владата на повеќето неповолно пати и тоа треба да се грижеа за. Исто така уште еднаш црпење далеку вашите резултати поднесување ќе помогне грижиме за идните промени на вашата работа на системот за контрола многу полесно да се справи со.

Резиме

Во овој section имаме погледна во она што работа контрола серверот треба да се направи и како да се добие многу основни воспостави систем. Разговаравме како да добијам работа од контролниот систем и тоа како најдобро да го конфигурирате работни места за да се добие најмногу нашите од вашата канцеларија мрежа систем. До крај, став или две за доставување на резултатите назад на работа за контрола на серверот беше презентирана.

  • А за работа за контрола на серверот управува работни места и гарантира дека сите работни единици се завршени
  • Од црпење на вашата работа изберете / резултати поднесување можеме да го промениме технологијата на контрола на серверот без многу проблеми
  • Конфигурирајте ја вашата работни места за да се осигура дека тие се кандидира брзо и ефикасно, без ставање премногу притисок врз вашата мрежна инфраструктура, и без повторување обработка на задачи на редовна основа.
  • Се осигура дека ќе се изгради грешка толеранција и грешка checking во вашите секојдневни навики, работниците може да го суспендира и да продолжи и на повеќето неповолно пати. Не заборавајте да проверите дали резултати веќе се поднесени од страна на друг работник.

Следниот пат

Во Дел 3 ќе се создаде нашиот виртуелен машина за обработка и да се воспостави нашите прозорци машини за да стане мрзлив работно време.

Канцеларија мрежа компјутери со користење на виртуелни средини - Дел 5

Со , петок 4 декември 2009 година 11:03

Вовед

Јас работам во компанија во која трчаме многу серија работни места обработка милиони на евиденција на податоци секој ден и јас си помислив неодамна за сите машини кои седат околу секој ден не се прави ништо за неколку часа. Зарем не би било добро ако би можеле да ги користат овие машини за да ја зајакне моќ на процесирање на нашите системи? Во овој сет на статиите, ќе одам да се погледне на потенцијалните придобивки од вработување на канцеларија мрежа користење виртуализирани средини.

Во Дел 4 ние погледна користење алатки за да се осигура дека ние сме работи за најновата верзија на кодот и извори на податоци, така што добиените резултати се секогаш во тек со најновите бизнис информации и логика.

Пред распоредувањето

Пред имплементирање на вашиот мрежа систем, ако има едно нешто што го правите и едно нешто сам тоа е репер вашите сегашниот систем! Не е важно што ви кажам колеги за тоа колку дополнителна работа на вашиот систем се случува да се направи, освен ако имаш броеви да се врати овој до вашиот гаранции не се ништо друго. Значи,

  • колку евиденција може да се обработува во моментов? Во еден ден? На час?
  • Колку време е вообичаено се да се сврти работа?
  • Колку повеќе капацитет имате?

Исто така има и дополнителни прашања:

  • Ако вашиот обработка на сервер (или еден од вашите обработка сервери) оди надолу како тоа ќе влијае на вашите способности, ќе бидат осакатени?
  • Што предности се надевате / очекуваат да добијат од мрежа систем?
  • Дали вашата канцеларија машини способни за водење на работни места?
  • Дали вашите (или можете работни места може да се конвертира) да wrok во овој стил на водење на?

Последниот голем Поентата е да се земе вашето време на секоја голема промена се допаѓа ова. Ажурирајте го вашиот обработка на код за да работат со помош на новата методологија, репер повторно. Можеби го поставите вашиот обработка на серверот да работи на виртуелна машина, после сите ваши обработка на серверот ќе биде само уште еден работник (само многу моќен релативно). Овозможи на новиот процес за да се спогоди.

Распоредување

Мој предлог би било да се појави во канцеларија еден викенд ги изврши сите инсталации и подесување. Дали ова само пред две недели одмор и остави толку други сиромашни момче да се справи со последиците можеби не ... ...

Распоредување за систем како овој треба да биде бавен. И покрај тоа што тоа е релативно едноставно да се постави овој систем ќе влијае на целата своја канцеларија инфраструктура (и дигитален еден). Прво, се тркалаат на неколку машини во еден момент, монитор мрежниот сообраќај, како работник Силите се изврши на ден-за-ден основа. Можеби ќе треба да ја смени вашата работа конфигурација во одговор на вашите наоди.

Откако системот се населил со неколку машини (да речеме 10% од сите канцелариски машини, односно 5) води мрежа за мониторинг на сообраќај и домаќин машина performance. Следна репер повторно, сега треба да се обработка на 33% повеќе работни места од вашата прва одредници. Проверете тоа е така, или дека сте барем во оваа груба проценка. Ако не, да испита што се случува пред да се пресели на. Повторете го овој циклус додека не се среќно ги имаат сите канцелариски машини работи, без убивање поединечни перформансите на машината или мелење вашата мрежа за да застој.

На сите времиња задржи бенчмаркинг, дури и по сите распоредувања се направени. Проверете како нов код надградби влијае брзината на вашиот систем, проверете сите работници се за известување и ги обработуваат работни места. Полека (многу полека) Наголемува вашата работа конфигурација за да го добиете најдоброто од вашите работници и мрежа.

Стоп!

Што ако сакате да го запрете вашето работници од трчање во одреден период? Сите тие се таму работи, регенерира, и се обидува својата најдобро е да обработува податоци како гладни инсекти. Одговорот може да изгледа очигледно, но нејзината вредност додавајќи само во случај нејзиниот занемарува. Едноставно ги уредувате своите обработка на скрипта со излез (0) или да умре () или некоја друга изјава да го уништи вашиот обработка на работа. Важна причина зошто ние секогаш се трудиме да се ажурира со најновите обработка на скрипта, пред било кој рок!

Демонстрација систем

Со цел да се напише ова множество на кратки статии јас создаде многу мал мрежа за да се демонстрира технологии и методологии. Читам многу статии, упатства, а се користат различни алатки за подесување и да следат што се случува. Во никој случај не сум излезе надвор и заситени цела канцеларија со сообраќај и ниту сум имал пристап на редовни членови на персоналот компјутер за да видите како домаќин перформанси беше погодена.

Мој демонстрација систем беше многу скромно, навистина. Порано ми редовните десктоп постави како работа за контрола на серверот. На оваа имав инсталирано MySQL сервер инсталиран постави како господар во репликација, PHP , А и SVN поврзани преку Apache (за пристап преку работник В.М.).

Јас тогаш создаде работник CentOS машина на VirtualBox на 6 години стариот Windows XP лаптоп. Јас подесување на закажани задачи како што е наведено по копирање на В.М. кон машина и нека одат.

Виртуелната машина беше формирана со PHP, субверзија, и MySQL. Ги проверив од гранка со име "работник" од мојата работа контрола сервери складиштето и се сигурни дека тоа може да се ажурираат со користење "svn ажурирање. Следна јас подесување MySQL како роб и проверени дека податоците се реплицира од MySQL на работа контрола одредување на серверот на работникот В.М.. По сето ова јас го поставите баш сценариото и на cron работа.

Мој обработка на скрипта во основа отиде по должината на линиите за тоа (многу едноставно работи):

  • Прочитајте во името поле
  • Изброи бројот на слични имиња во табела од извор на податоци која се одржа на В.М.
  • Изброено имиња како што се погоре, но разделување името со празен простор (т.е. своето име, средно, презиме)
  • Повтори овој процес 1.000 пати

Секоја работа се околу 20 минути да се кандидира. Во еден момент ја отворив неколку копии на работникот В.М. на лаптоп прозорци и го гледал работни места да се штиклирани со секоја од работник IP адреси. Во овој момент јас, исто така, потврди дека репликација автоматски рестартиран.

Оставањето на лаптоп да работи во место резултираше во еден работник почнува да се процесира работни места од работа за контрола на серверот. Кога продолжување на користење лаптоп имаше задоцнување од околу 30-60 секунди, ова е фер временски период и вработените ќе треба да бидат свесни дека нивната машина може да пауза за кратко време, кога се враќа на машина. Поновите машини не можат да имаат пауза на овој долг. Во корист на износот на обработка врши од страна на овие машини за време на неактивност периоди би повеќе од надминуваат членови на персоналот да се чека еден краток период (да речеме 1 минута) при пристигнувањето во своите машини на утрото (јас често чекаат подолго од ова за Windows Defender ажурирање да се земе место) под услов тие да биле направени свесни за тоа (корисен време да го зграби утринското кафе!).

Генерално јас се чувствуваат сигурни дека сум покажа технологии кои може да се користи за да се создаде таков систем. Јас покажаа дека таков систем не работи на (многу) мала скала и со некои повеќе експериментирање може да бидат намалени до користат ресурсите на машини за канцеларија. Ако не дојде до точка на тоа јас би бил многу заинтересирани да знаете / види кога некој друг го прави тоа.

Заклучоци / евалуација

Следниот очигледно чекор ќе биде да всушност во реалниот свет пример и да почне да распореди систем, како што тоа во рамките на една канцеларија на животната средина и да видиме што се случува. Поставување на бизнис да се заложат за тоа без трага вжештена компанија за да се докаже на технологијата и ефикасноста може да биде малку тешко. Решетка / дистрибуирани компјутерски е многу популарна е некои кругови и има некои големи апликации (BIONC, SETI @ Home, Folding @ home, итн.) Јас не, сепак, се најде во помал обем и едноставен систем како овој во моите пребарувања што може да се стркала во рамките на една канцеларија на животната средина.

Јас создаде основа бесплатно систем со користење главно софтвер со отворен код и алатки достапни во речиси секоја канцеларија. Технологии се основа демонстрираа и да покаже да се изврши и работат како што се очекуваше. Се надевам дека покажуваат дека со не многу работа и со еден многу едноставен подесување може да се распореди канцеларија мрежа компјутерски систем кој е моќен, евтини, а и скалабилни сите во исто време.

Еднаш систем е и работи речиси и да нема крај на количина на прилагодување и подобрувања може да се направи. На пример статистики / бенчмарк лесно може да се додаде покажувајќи на вредноста на таков систем секој ден. Нови машини може да се додаде брзо и лесно, како и кога ќе пристигнат со надградби на постојните хардвер зацврстување на вашата моќ на процесирање.

Се надевам дека сте уживале читањето на оваа серија на написи и ви даде храна за размислување на водење на канцеларија мрежа систем. Решението презентирани овде не мора да работат во сите ситуации, но треба да биде адаптибилен да ви овозможи да ја добиете вашата обработка на податоци се направи со користење свој решение.

Ве молиме слободно да ме праќајте било какви коментари, корекции или подобрувања и јас ќе дадам се од себе за да се задржи овој член ажурирани да се совпаѓаат.













Панорама Тема страна Themocracy

5 посетители онлајн сега
4 гости, 1-ботови, 0 членови
Макс посетители денес: 10 во 01:50 часот UTC
Овој месец: 26 во 2012/04/04 10:27 UTC
Оваа година: 69 на 27-02-2012 09:56 часот UTC
Сите времиња: 130 на 28-03-2011 10:40 UTC