Blackfriday – sau cum să dăm cu serverele de pământ
November 26, 2011 – 1:05 pmCând am văzut joi newsletter-ul eMag, nu mă așteptam să ia așa de mare amploare fenomenul. Se pare că multe alte magazine au luat exemplul eMag și s-au lăsat cuprinse de febra blackfriday. Un lucru bun, de altfel. Vineri dimineața când am deschis twitter-ul, era nebunie. Lumea făcea mișto (exemplu) de principalele magazine de IT&C pentru că site-urile erau greu (sau deloc) accesibile.
Categoric, nu e un lucru deloc ușor să faci față unui flux mare de vizitatori, însă unele magazine au fost total nepregătite. Să luăm de exemplu evomag.ro și să ne uităm puțin la codul sursă:

Sunt destul de multe fișiere css și javascript, 22 în total, 12 doar în screenshot-ul de deasupra. Asta înseamnă 22 request-uri în loc de 2, dacă ar fi compresate și minimizate. Treaba asta chiar nu se face greu, nu înțeleg de ce n-au făcut-o. Când ai zeci/sute de mii de vizitatori, nu-ți permiți să pierzi câteva milisecunde per request. Pentru că se adună.
Din acest punct de vedere, situația nu e mai roz nici la koyos.ro, sigmanet.ro și alții. Doar eMag și PcGarage au optimizat partea asta.
Dar să trecem mai departe și să ne uităm de unde sunt încărcate imaginile de produse.
Mda, sunt încărcate de pe același server. Serverul ăla e destul de ocupat să genereze paginile html, nu e o idee prea bună să-l lași să servească și imaginile. Koyos face la fel. PcGarage, eMag și Sigmanet (de data asta) livrează imaginile de pe un server dedicat.
Abia după ce rezolvi lucrurile astea minore poți să te gândești la treburile complicate gen load-balancing. Deși, cu serverele din ziua de azi (ex de la Hetzner, i7 quadcore, 24GB ram, 59 EUR / luna) și un cod bine scris, de puține ori ajungi la load-balancing pe piața din .ro.
PS: și alții cu experiență mai dau cu bâta-n baltă, în cazul ăsta Wallmart.




6 Responses to “Blackfriday – sau cum să dăm cu serverele de pământ”
Ca sysadmin specializat pe web operations, ma bucura faptul ca incet-incet incepe lumea sa priceapa ca problemele de scalabilitate nu-s atat de simple (“mai pune niste RAM, da-l incolo ca merge”).
Astept cu nerabdare si momentul cand si webdeveloperii or sa inceapa sa constientizeze niste lectii din experientele astea, dar probabil ca vine de la sine dupa ce se conving sefii lor
By rpetre on Nov 26, 2011
Salut Mihai, Multumim de feedback, am fost mereu adeptii feedback-ului constructiv si cel descris de tine este excelent.
Cu siguranta ca vom fi mult mai bine pregatiti pe viitor.
Multumim!
Patrascu Mihai
By Patrascu Mihai on Nov 27, 2011
Don’t take me wrong, însă nici șosetăria nu pare să fie mai optimizată
+1 @rpetre
By Stas on Nov 27, 2011
Stas, Sosetaria are trafic mic
Chiar foarte mic comparativ cu magazinele IT&C.
Fisierele CSS si JS sunt minimizate si comprimate in doar doua fisiere, face parte din procesul de build al Avanticart (da, chiar daca e o aplicatie web, avem un proces de build).
Restul de optimizari (server dedicat pt imagini, etc) nu le-am facut pt ca nu sunt necesare momentan.
By Mihai Brehar on Nov 27, 2011
@Patrascu Mihai
incearca Google Page Speed – extensia de Firefox – pentru mai multe sugestii de imbunatatire a performantei.
By Mihai Brehar on Nov 27, 2011
Intamplator ( right
) eram treaz la 5 am cand a inceput promotia de la emag si site-ul a inceput sa aiba probleme din primele minute…
5 am… come on… te gandesti ca nu sunt multi care s-ar trezi la 5 sa profite de reduceri…
Conspirationistul din mine imi spune ca a fost doar o strategie de marketing… sti faci sa para greu de cumparat ca sa si le doreasca oamenii si mai mult
By Mihai Secasiu on Dec 8, 2011