Test di carico delle applicazioni del servizio app Azure

Questo articolo illustra come usare Test di carico di Azure per testare le applicazioni ospitate nel servizio app Azure. app Azure Servizio è un servizio completamente gestito che consente di compilare, distribuire e ridimensionare applicazioni Web e API nel cloud.

Con Test di carico di Azure è possibile simulare il traffico su larga scala reale per l'applicazione e i servizi. Anche se app Azure Servizio può essere ridimensionato automaticamente, quando si eseguono test di carico con Test di carico di Azure, si verificherà un aumento dell'affidabilità, delle prestazioni e dell'ottimizzazione dei costi e si eseguiranno le operazioni seguenti:

  • Assicurarsi che tutti i componenti dell'applicazione, non solo l'applicazione Web, possano gestire il carico previsto.

  • Verificare che l'applicazione soddisfi i requisiti di prestazioni e stabilità.

  • Usare le metriche e la diagnostica delle risorse dell'applicazione per identificare il collo di bottiglia delle prestazioni nell'intera applicazione.

  • Evitare l'over-allocation delle risorse di calcolo e ridurre le inefficienze dei costi.

  • Rilevare le regressioni delle prestazioni in anticipo integrando i test di carico nella pipeline CI/CD e specificando i criteri di esito negativo del test.

Simulazione del traffico con test di carico

È possibile creare un test di carico per simulare il traffico verso l'applicazione nel servizio app Azure. Test di carico di Azure offre due opzioni per creare un test di carico:

  • Creare un test rapido basato su URL
  • Usare uno script Apache JMeter (file JMX)

Dopo aver creato ed eseguito un test di carico, è possibile monitorare le metriche delle risorse per l'applicazione Web e tutti i componenti di Azure dipendenti per identificare i problemi di prestazioni e scalabilità.

Creare un test di carico basato su URL

È possibile creare un test di carico basato su URL direttamente dall'app Web del servizio app Azure nel portale di Azure. Quando si crea il test di carico, è possibile selezionare uno slot di distribuzione specifico e usare l'URL dell'endpoint prepopolato.

Lo screenshot seguente mostra come creare un test di carico basato su URL nella portale di Azure.

Per iniziare, creare un test di carico basato su URL per app Azure Servizio.

Creare un test di carico caricando uno script JMeter

Test di carico di Azure offre un supporto ad alta fedeltà di JMeter. È possibile creare un nuovo test di carico caricando uno script Apache JMeter. È possibile usare questo approccio negli scenari seguenti:

  • Testare più pagine o endpoint in un singolo test
  • Testare gli endpoint autenticati
  • Passare parametri al test di carico, ad esempio variabili di ambiente o segreti
  • Testare endpoint non basati su HTTP, ad esempio connessioni di database
  • Configurare patter di caricamento più avanzati
  • Riutilizzare gli script JMeter esistenti

Per iniziare, creare un test di carico caricando uno script JMeter.

Se in precedenza è stato creato un test basato su URL, Test carico di Azure genera uno script di test JMeter. È possibile scaricare questo script di test generato, modificarlo o estenderlo e quindi ricaricare lo script.

## Monitorare le app per individuare colli di bottiglia e problemi di provisioning

Durante un test di carico, Test di carico di Azure raccoglie le metriche sull'esecuzione del test:

  • Metriche lato client: metriche del motore di test, ad esempio il tempo di risposta end-to-end, il numero di richieste al secondo o la percentuale di errore. Queste metriche forniscono un'indicazione generale se l'applicazione può supportare il carico utente simulato.

  • Metriche lato server: metriche delle risorse dei componenti dell'applicazione di Azure, ad esempio la percentuale di CPU del piano di servizio app, i codici di risposta HTTP o l'utilizzo delle risorse del database.

Usare il dashboard test di carico di Azure per analizzare le metriche di esecuzione dei test e identificare i colli di bottiglia delle prestazioni nell'applicazione oppure verificare se è stato eseguito il provisioning eccessivo di alcune risorse di calcolo. Ad esempio, è possibile valutare se le istanze del piano di servizio sono ridimensionate correttamente per il carico di lavoro.

Screenshot che mostra il dashboard dei risultati del test di carico nel portale di Azure.

Altre informazioni su come monitorare le metriche lato server in Test di carico di Azure.

Per le applicazioni ospitate nel servizio app Azure, è possibile usare servizio app diagnostica per ottenere informazioni dettagliate aggiuntive sulle prestazioni e sull'integrità dell'applicazione. Quando si aggiunge un componente dell'applicazione del servizio app alla configurazione del test di carico, il dashboard di test di carico fornisce un collegamento diretto al dashboard di diagnostica servizio app per la risorsa del servizio app.

Screenshot che mostra la sezione

Personalizzare i criteri di errore del test di carico

I criteri di test non superati consentono di configurare le condizioni per le metriche lato client del test di carico. Se un'esecuzione di test di carico non soddisfa queste condizioni, il test viene considerato non superato. Iniziare a configurare i criteri di errore per il test di carico.

Ad esempio, è possibile specificare che il tempo medio di risposta delle richieste o che la percentuale di richieste non riuscite sia superiore a una determinata soglia. È possibile aggiungere criteri di errore al test di carico in qualsiasi momento, indipendentemente dal fatto che si tratti di un test rapido o se è stato caricato uno script JMeter.

Quando si eseguono test di carico come parte della pipeline CI/CD, è possibile usare criteri di esito negativo del test per identificare le regressioni delle prestazioni con una compilazione dell'applicazione.

Screenshot che mostra la pagina dei criteri di test per un test di carico nel portale di Azure.

Usare i parametri per testare gli slot di distribuzione

Quando si configura un test di carico, è possibile specificare parametri per passare variabili di ambiente o segreti allo script di test di carico. Questi parametri rendono riutilizzabile e riconfigurabile lo script di test. Informazioni su come usare i parametri per passare variabili di ambiente a un test di carico.

Un esempio consiste nell'usare un parametro come variabile di ambiente per evitare di archiviare l'URL dell'endpoint dell'applicazione nello script di test. È anche possibile usare le variabili di ambiente per passare altre impostazioni di configurazione allo script di test di JMeter. Ad esempio, è possibile passare il numero di utenti virtuali o il nome file di un file di input CSV allo script di test.

Un altro uso per i parametri è quando si vuole riutilizzare lo script di test in più slot di distribuzione del servizio app Azure. Gli slot di distribuzione sono app attive con nomi host e URL separati. Usare un parametro per l'endpoint dell'applicazione e quindi configurare gli ambienti di gestione temporanea per l'applicazione.

Screenshot che mostra la pagina Parametri di un test rapido nella portale di Azure, evidenziando i parametri per l'URL di destinazione.

Passaggi successivi

Scopri come: