Jaarlijks Betaal jaarlijks en krijg 2 maanden gratis bij elk betaald abonnement. Bekijk abonnementen
Aanmelden Gratis beginnen

Drie pagina's per seconde

Op de ochtend van 22 september kroop torun.ai nog maar vooruit. Een farm van geautomatiseerde browsers, meer dan tweeduizend adressen in drie kwartier, vroeg onze openbare pagina's één voor één op, en in de ergste minuut…

Op de ochtend van 22 september kroop torun.ai nog maar vooruit. Een farm van geautomatiseerde browsers, meer dan tweeduizend adressen in drie kwartier, vroeg onze openbare pagina's één voor één op, en in de ergste minuut ging het om zo'n drie pagina's per seconde. Een website zou dat moeten kunnen hebben. De onze niet: in het drukste venster duurde meer dan een kwart van de verzoeken langer dan dertig seconden, en honderden bezoekers gaven het op voordat er een pagina kwam.

Niet de belasting die we dachten

De voor de hand liggende verdachten waren de crawler en de processor. Geen van beide hield stand. Toen we dezelfde drie pagina's per seconde afspeelden tegen een kopie van de site, hield die het minder dan een minuut vol en voltooide daarna helemaal niets meer. Het processorgebruik zakte van 60 procent naar 1, terwijl het aantal threads steeg van 12 naar 166. Een overbelaste server werkt harder; deze stond te wachten.

Een heen-en-terugreis voor elk woord

De cacheserver bekijken tijdens één pagina liet zien waarop hij wachtte. Eén pagina stuurde hem 585 opdrachten, en 428 daarvan waren één opvraging en de verversing ervan, steeds opnieuw: een vertaaltabel die voor onze site leeg is. Elke vertaalde tekst op de pagina, en een pagina heeft er honderden, vroeg haar opnieuw op, en elke opvraging hield een thread vast tot het antwoord terugkwam. Bij drie pagina's per seconde raakten de threads op en sloot alles erachter aan.

De oplossing, en een grens

Die opvragingen worden nu telkens een minuut lang uit het geheugen beantwoord, één keer opgehaald als ze verlopen en gewist op de server die een vertaling wijzigt. Dezelfde pagina stuurt nu 31 opdrachten in plaats van 585. We zetten ook een grens voor het maken van pagina's: een vast aantal pagina's wordt tegelijk gemaakt, een korte rij wacht, en alles daarboven krijgt meteen een ‘probeer het zo opnieuw’ in plaats van elke pagina te vertragen.

Gemeten in productie

Na de release van 23 september hebben we de live site opnieuw gemeten. De mediane pagina wordt gemaakt in 42 milliseconden, eerst 249, en de traagste van elke twintig in 72 milliseconden, eerst bijna twee seconden. De opvraging die 214 keer per pagina liep, loopt nu één keer.

De les die we opschreven is eenvoudig: een capaciteitscijfer is een meting, geen overtuiging. We hadden nooit getest wat de openbare site aankon. Nu wel, en we testen opnieuw voordat we een cijfer noemen.

Delen LinkedIn X E-mail
Probeer het op je eigen werkElk antwoord laat zien wat het kostte. Begin met het gratis abonnement. Gratis beginnen
Krijg productupdates, geen ruis Nieuwe modellen, functies en changelog-hoogtepunten - een korte mail wanneer er echt iets live gaat.
Door je in te schrijven ga je ermee akkoord e-mails van ToRun over productupdates te ontvangen. Je kunt je op elk moment uitschrijven. Privacybeleid