Model prometa
Iz strežniških dnevnikov, GA4 ali Matomo izluščimo najbolj obremenjeno minuto in to, kaj obiskovalci takrat počnejo, nato model povečamo na pričakovano raven akcije.
Recimo, da imate spletno trgovino z otroško opremo iz Celja in se pripravljate na črni petek. Lani je znana vplivnica ob devetih zvečer delila povezavo do novega vozička in trgovina je dvajset minut prikazovala stran z napako. Košarice so se izpraznile, naslednji dan pa je bil e-predal poln pritožb. Letos načrtujete še televizijski oglas in večjo akcijo na družbenih omrežjih. Ali bo sistem zdržal, ni treba ugibati, lahko se izmeri. Obremenitveni test pošlje v trgovino določeno število navideznih obiskovalcev, ki brskajo, iščejo, dodajajo v košarico in pridejo do plačila. Med tem merimo odzivne čase in napake ter ugotovimo, kje se sistem prvi zatakne: v podatkovni bazi, na aplikacijskem strežniku, pri povezavi s plačilnim ponudnikom ali pri storitvi, ki usklajuje zalogo s spletnimi tržnicami. Rezultat ni vtis, da je stran »hitra« ali »počasna«, temveč poročilo s številkami, ki jih razume tudi vodstvo.
Cilj ni lep graf, temveč utemeljen odgovor na vprašanje, ali bo stran tisti večer delovala.
Iz strežniških dnevnikov, GA4 ali Matomo izluščimo najbolj obremenjeno minuto in to, kaj obiskovalci takrat počnejo, nato model povečamo na pričakovano raven akcije.
Brskanje, iskanje, filtri, dodajanje v košarico, prijava in plačilo v testnem načinu ponudnika, kot sta Stripe ali Bankart. Vsak navidezni obiskovalec dela z drugimi izdelki in podatki, ne ponavlja iste zahteve tisočkrat.
Postopno naraščajoča obremenitev, nenaden skok, večurni vzdržljivostni test in stresni test, ki poišče točko, kjer sistem odpove.
Odzivni čas v 95. in 99. percentilu, delež napak in število transakcij na sekundo. Povprečje ene sekunde je videti dobro, a če vsak dvajseti obiskovalec čaka deset sekund, imate težavo.
Med testom spremljamo procesor, pomnilnik, bazen povezav do baze, počasne poizvedbe in dolžine čakalnih vrst, v vašem obstoječem nadzornem orodju ali na začasnih nadzornih ploščah.
Plačilni ponudnik, API dostavne službe, pošiljanje e-pošte in SMS, usklajevanje zaloge s tržnicami: tudi če vaš sistem zdrži, so lahko njihove omejitve na minuto ozko grlo.
Manjkajoči indeksi, predpomnjenje, nastavitve CDN, zmogljivost strežnikov in po potrebi navidezna čakalnica. Vsak predlog ima oceno dela, po uvedbi pa ga ponovno izmerimo.
Časovnico postavimo nazaj od datuma akcije. Za prvo meritev, popravke in drugo meritev je idealno imeti štiri tedne.
Na primer: »Med 21.00 in 21.30 15.000 obiskovalcev, 95 % strani pod dvema sekundama, delež napak pod 1 %.«
Okolje, podobno produkcijskemu, realna količina podatkov, skripte scenarijev in obvestila ponudniku gostovanja, CDN in plačilnemu ponudniku.
Najprej postopna obremenitev, nato skok in vzdržljivost, po vsakem zagonu kratek vmesni pregled.
Uvedemo popravke z največjim učinkom, iste scenarije zaženemo znova in rezultata prikažemo drug ob drugem.
Pred testom obvestite ponudnika gostovanja in zaščite. Več deset tisoč zahtev v kratkem času lahko zaščita pred DDoS ali požarni zid za spletne aplikacije prepozna kot napad. Test se takrat prekine, naslovi IP testnih strojev pa se lahko celo blokirajo. Če čas testa in izvorne naslove sporočite vnaprej, dobite zanesljive rezultate in se izognete nepotrebnim alarmom.
Če je mogoče, v ločenem okolju, ki je podobno produkcijskemu. Če je test na živem sistemu nujen, ga izvedemo v dogovorjenem oknu ob najmanjšem prometu in z obvestilom vašim ponudnikom.
Ne povsem. Pravi obiskovalci berejo, razmišljajo in čakajo med stranmi, zato čase premora vzamemo iz vaše analitike. Pomembnejše od števila ljudi je število zahtev in transakcij na sekundo, ki pridejo do strežnika.
Za oblačne stroje, ki ustvarjajo obremenitev, in po potrebi začasno povečano testno okolje nastane manjši strošek infrastrukture. Znesek vidite vnaprej kot ločeno postavko v načrtu testa.
Vsaj štiri tedne prej. Prvi test običajno razkrije več ozkih grl, za njihovo odpravo in drugo meritev pa potrebujete čas. Test v zadnjem tednu vam prinese le slabo novico nekoliko prej.
Da. Skripte praviloma napišemo kot kodo v k6 in jih pustimo v vašem repozitoriju. Manjšo različico lahko dodate v cevovod CI, da po vsaki večji spremembi samodejno vidite, ali je zmogljivost padla.
Kateri datum je pred vami in koliko obiskovalcev pričakujete? Predlagamo ciljni stavek in časovnico, postavljeno nazaj od tega dne.
Vaše povpraševanje je prispelo
Oglasimo se najpozneje naslednji delovni dan. Če ste prijavili okvaro, zaradi katere ekipa ne more delati, jo pogledamo najprej.
Tega kraja ni na seznamu. Preverite zapis ali izberite najbližje večje mesto. Ker vse delo opravimo na daljavo, je storitev povsod po Sloveniji enaka.