Славонија и балансирање оптерећења сервера...

Day 714, 04:22 Published in Serbia Croatia by FG Lexia

Ћао,

Видим да се у последње време пуно прича о томе да је сервер заказао у последњим минутама и да није било могуће ударити по непријатељу због тога.

То је све истина.

Али, такође је истина да је неко крив за тај догађај. Да ли је криво оптерећење процесора и меморије сервера? Не бих рекао, пошто су људи пребацили сервер на неки кластер који сигурно може да изхендлује и већу количину људи у исто време. Ево како одокативно изгледа сервер еРепублика:

http://www.singlehop.com/servers/clustergraphs/socialnetwork-diagram.gif" />

Сви приступају путем улазног линка, а унутар самов виртуелног сервера који ми сви видимо као www.erepublik.com се врши балансирање и захтев распоређује на један од неколико подсервера (вероватно више него на слици). Дакле, врло је мало вероватно да је за ово кашњење и масовно појављивање обезглављене кокошке са шрафцигером проблем проузрокован оптерећењем самог сервера.

Да није можда криво оптерећење мрежног приступа сервера? Е, па то већ јесте (вероватно). Зашто, како, где, куда? Па, пошто је ова игра подељена по е-земљама, а њој приступају људи из сж земаља, врло је могуће, чак и вероватно, да је некоме пало на памет да балансира мрежне конекције по земљама. То значи да је могуће извршити само нпр. 1000 захтева ка еРепублику у секунди из било које сж земље. У стандардној ситуацији то не представља проблем, пошто не долази до толико много симултаних захтева из исте земље, па све клизи као по лоју. Међутим, ако из неког разлога сви (или многи) становници једне земље одлуче да у истих 15 минута приступе еРепублику по 10 или више пута, могуће је да се дође до тог граничног оптерећења мрежног приступа из једне земље и онда долази до одсецања остатка конекција.

Типичан програм/сервер за балансирање оптерећења ради по принципу да броји конекције које задовољавају одређени услов (у овом случају опсег ИП адреса) и када број конекција у задатом временском интервалу пређе неку граничну суму, он исече све остале захтеве.

http://www.singlehop.com/servers/clustergraphs/load-balancing.gif" />

Пошто еРепублик није типичан програм, није му довољан тај типичан сервер за балансирање мрежног оптерећења, већ користи онај мало мање типичан - онај који у себи садржи и неки статички садржај намењен за људе који су улетели у онај део веза које су преко дозвољеног броја веза у задатом временском интервалу. Тај статички садржај нам је свима познатији као „обезглављена кокош са шрафцигером“.

http://www.thorappliances.com/shared/images/devideLine.jpg" />

На крају ове приче долазимо до питања „зашто се то баш нама десило?“. Одговор на то питање је једноставан - против нас је било 14 е-земаља, што отприлике одговара цифри од 14 сж земаља. 14 сж земаља у складу са горе наведеним принципима балансирања мрежног приступа по подмрежама (и земљама) имају око 14 пута већи мрежни приступ серверу. Оно што такође може да учествује у овој рачуници је то што ни једна од наведених 14 земаља није наредила целој војсци да удари у последних 15 минута. Наша 1 (једна) земља је корисно искористила свој 14 пута мањи мрежни приступ у битци у којој мора да се тенкује да би победила на тај начин што је позвала целу војску да удари у последњим минутима и тиме изазвала ДоС за све или већину људи из еСрбије (ДоС = DoS = Denial-of-Service = кокошка).

Не знам за вас, али мене боли уво убудуће за наређења генералштаба - борићу се кад ми се свиди и сигурно нећу чекати крај битке кад удари цела наша војска и блокира опет приступ серверу. Ја сам знао да су Вукови имали наређење да ударе у последњих 15 минута, али сам очекивао да је то наређење само за Вукове и Елиту (а и одрадио сам гифтовање и болничку борбу и пре тога за сваки случај, тако да ми је остало само тенковање). Али, касније сам, на своје запрепаштење, сазнао да је дотично наређење било за целу војску.

Не знам који геније је смислио ту тактику, али слободно могу да тврдим да је имао велики удео у томе што су Хрвати победили. У вези величине тог удела, могу само да кажем да сам ја планирао да нанесем још 4020 дмг-а тенковањем (15 удараца) и на крају урадим један камикази удар до 30% здравља што би донело још 1000 и кусур штете. Знам још много Вукова који су остали на 100% здравља и нису истрошили оружје намењено за ову битку. Рачунајте колико је то ненанешене штете и запитајте се ко је одговоран за то. Ја не знам ко је издао овакво наређење, али знам да је он одговоран за то што смо изгубили у Славонији. Не кажем да бисмо победили да смо сви истрошили оружје које смо хтели. Можда бисмо победили, можда и не бисмо победили, али оваквим потезом нисмо добили ни могућност да пробамо да победимо.

PS: I haz MMM 😃 Thank you all for subscribing 🙂