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
Utilizzare il metodo Chunk per creare blocchi di oggetti di uguali dimensioni partendo da una lista
Intercettare gli eventi di creazione degli oggetti con Entity Framework 7
Utilizzo di Map e Object in Javascript
Montare blob e file share su Azure App Service
Bloccare una pull request che arriva da branch non definiti in GitHub
Organizzare il codice JavaScript utilizzando i moduli
Utilizzare il Service Bus Explorer integrato del portale Azure
Personalizzare le richieste con i rule set di Azure Front Door
Dependency Injection e custom validator in Blazor con .NET 7.0
Ottimizzare la persistenza che coinvolge un solo oggetto con Entity Framework Core 7
Creare una timeline da una pipeline di Azure DevOps
Utilizzare la libreria EntityFrameworkCore.Exceptions per gestire le eccezioni di Entity Framework Core in modo tipizzato