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 la scalabilità delle Azure Function con il Flex Consumption
Disabilitare automaticamente un workflow di GitHub
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Gestire il colore CSS con HWB
Utilizzare Azure Cosmos DB con i vettori
Testare l'invio dei messaggi con Event Hubs Data Explorer
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Gestire liste di tipi semplici con Entity Framework Core
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Utilizzare politiche di resiliency con Azure Container App
Eseguire operazioni sui blob con Azure Storage Actions