Indice dei contenuti
Ogni chiamata a una Web API rappresenta un potenziale punto critico nel flusso delle informazioni di un'applicazione. Un endpoint lento o mal ottimizzato può causare ritardi nell'elaborazione dei dati, peggiorare l'esperienza utente e aumentare i costi infrastrutturali, specialmente se viene invocato di frequente o in ambienti distribuiti.
In assenza di metriche oggettive, è facile sottovalutare il peso reale di una risposta apparentemente innocua. Ecco perché effettuare benchmark, anche semplici, è una pratica essenziale: permette di misurare i tempi di risposta, identificare colli di bottiglia e prevenire problematiche come:
- Tempi di caricamento troppo elevati nelle interfacce utente
- Timeout nelle comunicazioni tra servizi
- Rallentamenti sotto carico o in ambienti di produzione
- Comportamenti anomali legati a dipendenze esterne o query inefficienti
Che la tua API sia realizzata con ASP.NET Core (in qualsiasi architettura, anche Minimal API), Node.js, Spring Boot o qualsiasi altro framework, disporre di strumenti semplici per un primo controllo delle performance è il primo passo verso un'ottimizzazione consapevole.
In questa guida vedremo come usare Postman per realizzare un benchmark di base in pochi minuti. Se invece stai cercando un modo per simulare carico concorrente, utenti simultanei e scenari complessi, ti invito a leggere anche il nostro articolo di approfondimento su come effettuare performance test avanzati con NBomber.
Requisiti
- Postman installato sul tuo sistema
- L’indirizzo della tua Web API (locale o remoto)
- Un endpoint da testare (es.
GET /api/products
)
#1. Creazione di una HTTP request
Apri Postman e clicca su "New" > "HTTP Request".
Compila i seguenti campi:
- Metodo: GET, POST, PUT ecc.
- URL: l’indirizzo dell’endpoint da testare
- Eventuali headers o body, se richiesto dalla tua API
#2. Invio della richiesta
Clicca su "Send". Postman ti mostrerà i seguenti dati nella parte bassa:
- Status code
- Time (tempo di risposta in millisecondi)
- Size della risposta
#3. Aggiunta di uno script per tracciare il tempo
Vai nella scheda "Tests" della richiesta e inserisci il seguente script:
1 2 |
console.log("Response time: " + pm.response.responseTime + "ms"); pm.environment.set("lastResponseTime", pm.response.responseTime); |
#4. Aggiunta di Collection e Collection Runner
Se vuoi testare lo stesso endpoint più volte, crea una Collection:
- Vai su Collections > New Collection
- Trascina la tua richiesta dentro la collection
Poi:
- Clicca su "Run"
- Imposta il numero di Iterazioni (es. 50)
- Premi "Start Run"
Alla fine, Postman mostrerà i risultati aggregati:
- Tempi di risposta per ogni richiesta
- Statistiche medie
- Errori, se presenti
Limiti di Postman
E' importante chiarire che Postman non è uno strumento di performance testing avanzato. Ad esempio, non può essere utilizzato per effettuare questo tipo di simulazioni:
- Richieste effettuate da più utenti
- Carico concorrente
- Analisi di throughput o consumo di risorse
Per questi casi è meglio affidarsi a strumenti di benchmarking che prevedano un approccio distribuito, come ad esempio:
- k6
- Apache JMeter
- NBomber
- Artillery
Per maggiori informazioni ti consigliamo di leggere la seconda parte di questo articolo, nella quale spiegheremo come effettuare performance test avanzati con NBomber.
Conclusioni
Postman si conferma uno strumento eccellente per effettuare benchmark rapidi e a basso costo di setup, perfetti per:
- Confrontare le performance tra due versioni della stessa API
- Validare endpoint in ambienti di sviluppo o QA
- Identificare rallentamenti localizzati
Con pochi passaggi e una semplice interfaccia grafica, puoi ottenere dati preziosi per migliorare la reattività della tua Web API, qualunque sia la tecnologia con cui è stata sviluppata.