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
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Ricevere notifiche sui test con Azure Load Testing
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Potenziare la ricerca su Cosmos DB con Full Text Search
Utilizzare il trigger SQL con le Azure Function
Utilizzare Azure AI Studio per testare i modelli AI
Generare la software bill of material (SBOM) in GitHub
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Simulare Azure Cosmos DB in locale con Docker