Stress test e test di carico applicativi

Sapere a che carico cede, e con quale sintomo.

Cosa consegno

  • 01Scenari di carico riproducibili e versionati
  • 02Report con percentili di latenza e soglia di saturazione
  • 03Piano di rimedio con priorità e stima di impatto

La domanda che ti porta qui di solito è «quanto regge?». Un numero di richieste al secondo da solo non ti dice cosa fare lunedì. Serve sapere quale risorsa satura per prima, con quale sintomo, e quanto margine hai prima di arrivarci.

Come lavoro. Ricostruisco il percorso vero degli utenti dai dati che hai già. Salgo per gradini fino al punto in cui errori o latenze superano una soglia decisa prima, e mi fermo lì. Il carico va a frequenza fissa e non a utenti fissi, altrimenti quando il server rallenta il generatore rallenta con lui e il numero che ottieni è più bello del vero. Sul bersaglio serve visibilità, altrimenti sai che si è rotto ma non cosa.

Il bersaglio è l’origine, non la CDN. Se il traffico passa da Cloudflare o simili, un test che non la esclude misura la cache del fornitore e restituisce un numero che non significa niente per il tuo server.

In una prova su un VPS isolato ho scritto prima i criteri: p95 sotto 3 secondi, meno dell’1% di risposte invalide e nessuna iterazione persa. Ho escluso la CDN e usato un carico a frequenza costante. Solo dopo ho letto il risultato: 3 richieste HTML al secondo per 10 minuti con p95 di 1,102 secondi. Il gradino breve a 5 richieste al secondo è passato con CPU circa al 96%; a 6 la latenza ha superato il limite. Il server di produzione non è stato stressato: il dato descrive quell’ambiente e quel carico, non una capacità trasferibile a un altro server.

Cosa serve da parte tua: un’autorizzazione scritta con finestra e durata, un ambiente che somigli davvero alla produzione, e la disponibilità di chi tiene l’infrastruttura. Su hosting condiviso il carico artificiale è spesso vietato dal contratto. Mi è successo su un e-commerce che ho poi migrato: il contratto chiedeva un’autorizzazione che l’incarico non prevedeva, e il test non l’ho fatto. Lo scrivo nei limiti di quel caso, non lo nascondo.

Quando non è il servizio giusto: se il sistema è lento anche con un utente solo, un test di carico ti conferma che è lento sotto carico e avrai pagato una conferma. Si parte da una misura a utente singolo, che costa meno e risponde prima.