Yearly Pay yearly and get 2 months free on every paid plan. See plans
Conectare Începe gratuit

Trei pagini pe secundă

În dimineața de 22 septembrie, torun.ai abia se mai mișca. O fermă de browsere automate, peste două mii de adrese în trei sferturi de oră, cerea paginile noastre publice una câte una, iar în cel mai rău minut era vorba d…

În dimineața de 22 septembrie, torun.ai abia se mai mișca. O fermă de browsere automate, peste două mii de adrese în trei sferturi de oră, cerea paginile noastre publice una câte una, iar în cel mai rău minut era vorba de circa trei pagini pe secundă. Un site ar trebui să ducă asta fără să clipească. Al nostru nu a dus: în intervalul cel mai aglomerat, peste un sfert dintre cereri au durat mai mult de treizeci de secunde, iar sute de vizitatori au renunțat înainte să apară pagina.

Nu era încărcarea pe care o credeam

Suspecții evidenți erau crawlerul și procesorul. Niciunul nu s-a confirmat. Când am redat aceleași trei pagini pe secundă pe o copie a site-ului, a rezistat mai puțin de un minut, apoi n-a mai finalizat nimic. Utilizarea procesorului a scăzut de la 60 la sută la 1, în timp ce numărul de fire a urcat de la 12 la 166. Un server supraîncărcat lucrează mai mult; acesta aștepta.

Un drum dus-întors pentru fiecare cuvânt

Urmărirea serverului de cache în timpul unei singure pagini a arătat ce aștepta. O pagină îi trimitea 585 de comenzi, iar 428 dintre ele erau aceeași interogare și reîmprospătarea ei, repetate: un tabel de traduceri care, pentru site-ul nostru, e gol. Fiecare text tradus de pe pagină, iar o pagină are sute, îl cerea din nou, și fiecare cerere ținea ocupat un fir până venea răspunsul. La trei pagini pe secundă firele s-au terminat și totul s-a pus la coadă în spatele lor.

Corectura și o limită

Aceste interogări primesc acum răspuns din memorie câte un minut, sunt aduse o singură dată la expirare și șterse pe serverul care modifică o traducere. Aceeași pagină trimite acum 31 de comenzi în loc de 585. Am pus și o limită în fața generării paginilor: se generează simultan un număr fix de pagini, o coadă scurtă așteaptă, iar tot ce depășește primește imediat un „încercați din nou peste câteva momente” în loc să încetinească toate paginile.

Măsurat în producție

După lansarea din 23 septembrie am măsurat din nou site-ul live. Pagina mediană se generează în 42 de milisecunde, față de 249, iar cea mai lentă din douăzeci în 72 de milisecunde, față de aproape două secunde. Interogarea care rula de 214 ori pe pagină rulează acum o dată.

Lecția pe care am notat-o e simplă: o cifră de capacitate este o măsurătoare, nu o convingere. Nu testaserăm niciodată cât duce site-ul public. Acum am testat și vom testa din nou înainte să dăm o cifră.

Distribuiți LinkedIn X E-mail
Încercați pe propria muncăFiecare răspuns arată cât a costat. Începeți cu planul gratuit. Începe gratuit
Get product updates, not noise New models, features, and changelog highlights - a short email when something actually ships.
Prin abonare, ești de acord să primești e-mailuri de la ToRun despre noutățile produsului. Te poți dezabona oricând. Politica de confidențialitate