Storitev · Testiranje in zagotavljanje kakovosti

Obremenitveno in stresno testiranje

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.

p95 in p99
namesto zavajajočega povprečja
k6, JMeter, Gatling
izbira glede na aplikacijo
Resnični scenariji
iz dnevnikov in analitike
Ponovna meritev
po vsaki izboljšavi

Obseg storitve

Cilj ni lep graf, temveč utemeljen odgovor na vprašanje, ali bo stran tisti večer delovala.

Obseg uskladite z našimi inženirji

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.

Scenariji

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.

Vrste testov

Postopno naraščajoča obremenitev, nenaden skok, večurni vzdržljivostni test in stresni test, ki poišče točko, kjer sistem odpove.

Smiselna merila

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.

Iskanje ozkega grla

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.

Omejitve zunanjih storitev

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.

Izboljšave po učinku

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.

Potek dela

Časovnico postavimo nazaj od datuma akcije. Za prvo meritev, popravke in drugo meritev je idealno imeti štiri tedne.

01

Ciljni stavek

Na primer: »Med 21.00 in 21.30 15.000 obiskovalcev, 95 % strani pod dvema sekundama, delež napak pod 1 %.«

02

Okolje in dovoljenja

Okolje, podobno produkcijskemu, realna količina podatkov, skripte scenarijev in obvestila ponudniku gostovanja, CDN in plačilnemu ponudniku.

03

Merilni zagoni

Najprej postopna obremenitev, nato skok in vzdržljivost, po vsakem zagonu kratek vmesni pregled.

04

Popravek in primerjava

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.

Pogosta vprašanja

Č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.

Pred najbolj zasedenim dnem poglejmo številke

Kateri datum je pred vami in koliko obiskovalcev pričakujete? Predlagamo ciljni stavek in časovnico, postavljeno nazaj od tega dne.

Delovni čas
Od ponedeljka do petka, 9.00-17.00 (srednjeevropski čas), odgovor v enem delovnem dnevu
Pogovori
Videoklic prek Microsoft Teams ali Google Meet

Ta stran uporablja le nujne piškotke, ki so potrebni za njeno delovanje in za pomnjenje izbranega kraja. Oglaševalskih in sledilnih piškotkov ne uporabljamo. Podrobnosti najdete v razdelku Zasebnost in varstvo osebnih podatkov.