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
Path addizionali per gli asset in ASP.NET Core MVC
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Scrivere selettori CSS più semplici ed efficienti con :is()
Effettuare il binding di date in Blazor
Utilizzare il trigger SQL con le Azure Function
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Gestire gli accessi con Token su Azure Container Registry
Creare una libreria CSS universale: Nav menu
Generare una User Delegation SAS in .NET per Azure Blob Storage
Simulare Azure Cosmos DB in locale con Docker
Disabilitare automaticamente un workflow di GitHub (parte 2)