L'utilizzo dei servizi cloud ci pone in condizione, rispetto al passato, di poter più facilmente creare soluzioni che sappiano scalare in funzione degli utenti e del lavoro che portano sulla nostra infrastruttura. Questo in linea teorica, perché nella pratica dobbiamo scegliere i servizi PaaS o FaaS giusti, configurare lo scaling correttamente e mettere in atto un'architettura che non abbia colli di bottiglia.
Per misurare tutto questo si possono effettuare dei test di carico, cioè test che simulino l'attività di molti utenti permettendoci di capire dati utili, come i tempi medi di risposta e fino a quale punto riusciamo a tollerare i carichi. Non è facile nemmeno effettuare questi test, perché è necessario avere l'infrastruttura in termini di larghezza banda, memoria e CPU in grado di simulare tutti questi utenti.
Fortunatamente viene in aiuto un nuovo servizio sulla piattaforma Azure di nome Load Testing, il quale permette di caricare test in formato Apache JMeter e di simulare il numero di utenti che vogliamo e per il tempo da noi desiderato. Per cominciare non è neanche necessario conoscere il formato, perché basta creare una nuova istanza del servizio dal portale (come per ogni altro) e selezionare Create a quick test.

Ci viene data la possibilità di indicare l'indirizzo da chiamare, il numero degli utenti da simulare, il tempo del test e l'eventuale periodo iniziare per raggiungere il numero di utenti desiderato.

Una volta creato il test questo viene lanciato attraverso le istanze messe a disposizione da Azure e a fine operazione possiamo vedere i risultati. Possiamo visionare il numero di richieste effettuate, il tempo medio di risposta e gli eventuali errori riscontrati.

Creato il primo test possiamo poi fare molto di più, come agganciare i componenti di Azure, creare un test più complesso e raccogliere altre metriche. Tutto questo sarà oggetto di altri script di questa serie.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Anonimizzare i dati sensibili nei log di Azure Front Door
Applicare un filtro per recuperare alcune issue di GitHub
Recuperare le subissue e il loro stato di completamento in GitHub
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Gestione dell'annidamento delle regole dei layer in CSS
Ridurre il reflow cambiando il CSS
Centralizzare gli endpoint AI Foundry con Azure API Management
Montare Azure Blob Storage su Linux con BlobFuse2
Fornire parametri ad un Web component HTML
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Proteggere le risorse Azure con private link e private endpoints
Triggerare una pipeline su un altro repository di Azure DevOps