Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come ottimizzare Funzioni di Azure per prestazioni e costi usando Test di carico di Azure. Il piano a consumo Flex di Funzioni di Azure offre flessibilità e funzionalità personalizzate che includono rete privata, funzionalità di scalabilità orizzontale di grandi dimensioni e veloci e selezione delle dimensioni della memoria dell'istanza in base a un modello serverless.
Lo strumento di ottimizzazione delle prestazioni di Test di carico di Azure consente di decidere quale configurazione è corretta per l'app eseguendo test di carico tra diverse configurazioni di Funzioni. Lo strumento consente di comprendere le implicazioni relative alle prestazioni e ai costi delle diverse configurazioni per prendere decisioni più consapevoli.
Lo strumento ottimizzazione delle prestazioni abilita le funzionalità seguenti:
- Test simultanei: esperienza nel contesto in cui è possibile creare ed eseguire rapidamente test specificando diverse configurazioni di memoria e concorrenza HTTP con carichi previsti.
- Confronto affiancato: consente di valutare le metriche delle prestazioni dai risultati dei test di carico tra configurazioni di scalabilità e concorrenza, permettendo di scegliere la configurazione corretta.
- Metriche: dimensionamento corretto in base alle metriche delle prestazioni per ottimizzare i costi.
Prerequisiti
Un account Azure con una sottoscrizione attiva. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Un'app per le funzioni nel piano a consumo Flex con almeno una funzione con un trigger HTTP. Se è necessario creare un'app per le funzioni, vedere Creare e gestire le app per le funzioni nel piano a consumo Flex.
Per eseguire un profilo di test, l'account Azure deve avere le autorizzazioni seguenti per l'app:
- Microsoft.Web/sites/read
- Microsoft.Web/sites/write
- Microsoft.Web/sites/slots/read
- Microsoft.Web/sites/slots/write Per impostazione predefinita, il ruolo Collaboratore sito Web dispone già di queste autorizzazioni.
Esecuzione dello strumento di ottimizzazione delle prestazioni in Funzioni di Azure
Lo strumento di ottimizzazione delle prestazioni consente di testare configurazioni diverse per trovare il giusto equilibrio tra prestazioni e costi. Ad esempio, è possibile testare metriche come le dimensioni dell'istanza e gli importi di concorrenza HTTP per l'app per le funzioni. Lo strumento di ottimizzazione delle prestazioni usa Test di carico di Azure per identificare la configurazione ottimale dell'app per prestazioni e scalabilità. È possibile eseguire lo strumento di ottimizzazione delle prestazioni nelle funzioni con trigger HTTP. Dopo aver distribuito il codice in Funzioni di Azure, seguire questa procedura per eseguire lo strumento di ottimizzazione.
Accedere al portale di Azure.
Passare all'app Funzioni ospitata nel piano a consumo Flex.
Nella sezione Prestazioni dell'app, selezionareOttimizzazione prestazioni.
Se nella sottoscrizione non è presente una risorsa Test di carico di Azure, crearne una selezionando Crea risorsa Test di carico.
Creare un profilo di test
Un profilo di test descrive la configurazione dell'app per le funzioni, i dettagli della richiesta e la configurazione del carico. Per ogni configurazione dell'app per le funzioni, viene eseguito un test di carico con il carico specificato. È possibile creare un profilo di test seguendo questa procedura:
Selezionare Crea profilo di test per creare un nuovo profilo di test.
Nella scheda Configurazione profilo, immettere prima i dettagli del test:
Campo Descrizione Risorsa test di carico Selezionare la risorsa di test di carico. Nome del profilo di test Immettere un nome univoco del profilo di test. Descrizione profilo di test (Facoltativo) Immettere una descrizione del profilo di test. Esegui test dopo la creazione Se selezionato, il profilo di test viene avviato automaticamente dopo la creazione del test. Nella sezione Configurazione funzioni, selezionare la configurazione dell'app Funzioni da testare. È possibile selezionare le dimensioni della memoria dell'istanza e la concorrenza HTTP. È possibile selezionare fino a dieci combinazioni di memoria e concorrenza.
Nota
Dopo l'avvio dell'esecuzione del profilo di test, le modifiche alla configurazione vengono apportate direttamente all'app. L'app per le funzioni verrà riavviata per ogni combinazione specificata e viene eseguito un test di carico sull'app.
Nella sezione Dettagli richiesta, immettere i dettagli della richiesta per l'app per le funzioni. È possibile specificare il metodo di richiesta, l'URL e le intestazioni.
Selezionare Aggiungi richiesta, per aggiungere richieste HTTP al test di carico.
Nella pagina Aggiungi richiesta, immettere i dettagli per la richiesta:
Campo Descrizione Request name (Nome richiesta) Nome univoco all'interno del test di carico per identificare la richiesta. È possibile usare questo nome di richiesta quando si definiscono i criteri di test. Nome funzione Selezionare la funzione da testare Chiave Selezionare la chiave necessaria per accedere alla funzione HTTP method (Metodo HTTP) Selezionare un metodo HTTP dall'elenco. Test di carico di Azure supporta GET, POST, PUT, DELETE, PATCH, HEAD e OPTIONS. Parametri di query (Facoltativo) Immettere i parametri della stringa di query da aggiungere all'URL. Intestazioni (Facoltativo) Immettere le intestazioni HTTP da includere nella richiesta HTTP. Testo (Facoltativo) A seconda del metodo HTTP, è possibile specificare il contenuto del corpo HTTP. Test di carico di Azure supporta i formati seguenti: dati non elaborati, visualizzazione JSON, JavaScript, HTML e XML. Selezionare la scheda Configurazione carico per configurare i parametri di carico per il test di carico.
Campo Descrizione Istanze del motore Immettere il numero di istanze del motore di test di carico. Il test di carico viene eseguito in parallelo in tutte le istanze del motore. Modello di carico Selezionare il modello di carico (lineare, passaggio, picco) per aumentare fino al numero di utenti virtuali desiderato. Utenti simultanei per motore Immettere il numero di utenti virtuali da simulare in ognuno dei motori di test. Il numero totale di utenti virtuali per il test di carico è: motori #test * #users per motore. Durata del test (minuti) Immettere la durata del test di carico in minuti. Tempo di aumento (minuti) Immettere il tempo di aumento del test di carico in minuti. Il tempo di aumento è il tempo necessario per raggiungere il numero previsto di utenti virtuali. Facoltativamente, configurare le impostazioni di rete se l'app Funzioni non è accessibile pubblicamente.
Altre informazioni suitest di carico degli endpoint ospitati privatamente.
Selezionare Rivedi e crea, per esaminare la configurazione del profilo di test.
Selezionare Crea, per creare il profilo di test. Test di carico di Azure crea ora il profilo di test.
Se in precedenza è stato selezionato Esegui test dopo la creazione, il profilo di test viene avviato automaticamente.
L'app Funzioni viene ripristinata alla configurazione originale dopo il completamento dell'esecuzione del profilo di test.
Visualizza risultati
Al termine dell'esecuzione del profilo di test, è possibile visualizzare i risultati nel portale di Azure. L'esecuzione del profilo di test contiene le esecuzioni di test di carico per ogni configurazione dell'app per le funzioni. I risultati includono metriche delle prestazioni, ad esempio il tempo di risposta, la velocità effettiva e la frequenza degli errori per ogni configurazione dell'app per le funzioni. È possibile confrontare le metriche delle prestazioni tra configurazioni diverse e scegliere la configurazione appropriata per l'app. Dopo aver deciso la configurazione ottimale, selezionare Applica per applicare le impostazioni di scalabilità e concorrenza all'app Funzioni.
Passaggi successivi
- Altre informazioni sui test di carico di Funzioni di Azure.
- Informazioni su come monitorare le metriche delle applicazioni lato server.