Vai al contenuto
SDETRole
SDETRole

Glossario · Performance

Load testing (test di carico)

In inglese: Load testing

Detto anche: test di carico, load test, prova di carico

Definizione

Test di performance che sottopone un sistema al traffico reale previsto per verificare tempi di risposta, tasso di errore e throughput rispetto a obiettivi concordati.

Il load testing (test di carico) sottopone un sistema al traffico che ti aspetti davvero, di solito il picco normale, e misura come si comporta: percentili di latenza, tasso di errore, throughput e utilizzo delle risorse. La domanda a cui risponde è “rispetta i suoi obiettivi di performance con il carico che abbiamo pianificato?”. Non si tratta di rompere il sistema: quello è lo stress testing.

Esempio (k6)

import http from 'k6/http';
import { check, sleep } from 'k6';

export const options = {
  stages: [
    { duration: '2m', target: 100 }, // ramp up to 100 virtual users
    { duration: '10m', target: 100 }, // hold at expected peak
    { duration: '1m', target: 0 },    // ramp down
  ],
  thresholds: {
    http_req_duration: ['p(95)<500', 'p(99)<1200'],
    http_req_failed: ['rate<0.01'],
  },
};

export default function () {
  const res = http.get('https://staging.example.com/api/products');
  check(res, { 'status is 200': (r) => r.status === 200 });
  sleep(1); // think time between iterations
}

Se una delle due soglie viene superata, k6 termina con un codice di uscita diverso da zero, quindi lo stesso script può fare da gate nella CI.

Load, stress, soak e spike

Tipo Profilo di carico Domanda a cui risponde
Load Picco previsto, mantenuto costante Rispettiamo gli obiettivi al picco normale?
Stress Crescente oltre il previsto Dove e come si rompe, e si riprende?
Soak Carico normale per ore Peggiora nel tempo (memory leak, esaurimento dei pool)?
Spike Salto improvviso, poi calo Sopravvive a un picco improvviso e torna a scalare verso il basso?

Come farlo bene

  • Modella il traffico reale. Usa il mix di endpoint, dimensioni dei payload e think time che vedi negli analytics di produzione, non un solo URL martellato in un ciclo.
  • Usa un ambiente simile alla produzione. I risultati di una macchina di staging sottodimensionata ti parlano solo di quella macchina.
  • Giudica con i percentili, non con le medie. Una media nasconde la coda lenta di cui gli utenti si lamentano davvero.
  • Osserva anche il lato server. CPU, memoria, connessioni al database e profondità delle code spiegano perché la latenza si è spostata.
  • Concorda prima gli obiettivi. Senza un obiettivo esplicito come “p95 sotto i 500 ms a 200 richieste al secondo”, un test di carico produce numeri ma nessun verdetto.

Scrivi per cercare in tutto SDETRole.

Ricerca full-text con Pagefind · funziona nel tuo browser Apri la pagina di ricerca →