{"id":10,"date":"2020-10-28T00:00:09","date_gmt":"2020-10-27T23:00:09","guid":{"rendered":"https:\/\/blexin.com\/?p=10"},"modified":"2021-08-04T11:22:43","modified_gmt":"2021-08-04T09:22:43","slug":"load-test-con-azure-app-service","status":"publish","type":"post","link":"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/","title":{"rendered":"Load Test con Azure App Service"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"608\" data-attachment-id=\"25113\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/attachment\/azure\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/Azure.png?fit=1024%2C608&amp;ssl=1\" data-orig-size=\"1024,608\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Azure\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/Azure.png?fit=1024%2C608&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/Azure.png?resize=1024%2C608&#038;ssl=1\" alt=\"\" class=\"wp-image-25113\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/Azure.png 1024w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/Azure-980x582.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/Azure-480x285.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Negli ultimi mesi abbiamo aiutato diversi clienti a migrare da una infrastruttura on-premise a Microsoft Azure. In molti ci hanno fatto la seguente domanda: qual \u00e8 il carico che l\u2019attuale configurazione regge?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Naturalmente, dare una risposta a questa domanda non \u00e8 sempre semplice, soprattutto perch\u00e9 dipende da diversi fattori. Un classico esempio pu\u00f2 essere il modo in cui \u00e8 scritta l\u2019applicazione, o come sono gestite le connessioni, come viene usata la memoria o persino a quante risorse esterne fa riferimento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una risposta con maggiore fondamento la si pu\u00f2 avere eseguendo dei&nbsp;<strong>performance test<\/strong>: questa tipologia di test tenta di verificare come la nostra applicazione si comporta in base al carico di utenti che la utilizza.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I performance test si dividono in diverse tipologie, e tra le pi\u00f9 comuni vi sono i&nbsp;<strong>load<\/strong>&nbsp;e gli&nbsp;<strong>stress<\/strong>&nbsp;test. La prima tipologia ha l\u2019obiettivo di raggiungere il limite di carico della nostra applicazione, simulando un alto numero di utenti e determinando la sua&nbsp;<em>capacit\u00e0 operativa<\/em>. La seconda invece, identifica la stabilit\u00e0 della nostra applicazione verificando come si comporta durante e dopo un forte carico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Introdotto l\u2019argomento, occorre capire come effettuare questa tipologia di test dal punto di vista tecnico: esistono oggi tanti framework e servizi che consentono di raggiungere questo scopo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Personalmente, ne ho utilizzati diversi e tra questi figurano:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Web Application Load and Performance Testing<\/li><li>Cloud-Based Load Testing da Azure DevOps o Azure App Service<\/li><li>Apache JMeter<\/li><li>BlazeMeter<\/li><li>Artillery<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Per alcuni nostri utenti, abbiamo utilizzato i Web Application Load and Performance Testing di Visual Studio. Questo framework \u00e8 al momento deprecato, infatti Visual Studio 2019 sar\u00e0 l\u2019ultima versione a supportarlo ancora. Nonostante tutto per\u00f2 si tratta di un framework ben fatto, che ha un buon grado di configurazione, un tool per la registrazione delle richieste web e persino il supporto alla configurazione di un&nbsp;<strong>test rig<\/strong>&nbsp;per i propri test.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per identificare i problemi nell\u2019applicazione di esempio, faremo uso di alcune metriche disponibili sia come risultato dei load test, che all\u2019interno delle Azure App Service. Tra queste, ci sono alcune fondamentali da dover sempre considerare:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Time to First Byte (FTTB)<\/strong>: rappresenta il tempo di attesa del client per recepire il primo byte di contenuto dal server. Questo include il tempo di connessione al socket, il tempo per inviare la richiesta HTTP e il tempo per ricevere il primo byte;<\/li><li><strong>Page Response Time<\/strong>: rappresenta il tempo di attesa del client per recepire l\u2019intera risposta (comprensiva di tutte le risorse) da parte del server. Questa metrica include anche il FTTB;<\/li><li><strong>Numero di errori e warning<\/strong>: verificare il numero messaggi di warning ed errori durante la fase di testing. Ad esempio quando usiamo un Azure App Service, dovremmo osservare il numero di errori legati a&nbsp;<em>503 Service Unavailable<\/em>&nbsp;o&nbsp;<em>SocketException<\/em>.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In questo articolo dimostreremo:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Come preparare una Azure App Service per i test;<\/li><li>Come registrare gli scenari;<\/li><li>Come configurare un test rig per l\u2019esecuzione degli scenari;<\/li><li>Come identificare e risolvere i&nbsp;<em>bottlenecks<\/em>.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019applicazione di esempio \u00e8 scaricabile da&nbsp;<a href=\"https:\/\/github.com\/MicrosoftDocs\/mslearn-load-test-web-app-azure-devops\" target=\"_blank\" rel=\"noreferrer noopener\">qui<\/a>&nbsp;ed \u00e8 ospitata in una Azure App Service associata ad un piano S1.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per effettuare un load test, abbiamo bisogno di una serie di scenari che possono corrispondere alle pagine del sito maggiormente sollecitate dagli utenti. Tramite Visual Studio 2019, possiamo utilizzare un nuovo progetto di tipo&nbsp;<strong>Web Performance and Load Test Project [Deprecated]<\/strong>. Come si evince dal nome questa tipologia di progetto \u00e8 stata deprecata e pertanto non \u00e8 presente tra i template disponibili nel wizard di creazione. Occorre infatti utilizzare il Visual Studio Installer per abilitare il componente come nella figura sottostante:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"571\" data-attachment-id=\"25118\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/attachment\/image01\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image01.png?fit=1932%2C1077&amp;ssl=1\" data-orig-size=\"1932,1077\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image01\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image01.png?fit=1024%2C571&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image01.png?resize=1024%2C571&#038;ssl=1\" alt=\"\" class=\"wp-image-25118\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image01-980x546.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image01-480x268.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Creiamo il progetto usando come template quello elencato sopra e al termine avremo gi\u00e0 un primo web performance test pronto per essere registrato. Cliccando il pulsante \u201cAdd Recording\u201d, si aprir\u00e0 il browser con il \u201cWeb Test Recorder\u201d e tutte le richieste che facciamo saranno tracciate. Una volta terminato lo scenario, premere il pulsante \u201cStop\u201d.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"661\" height=\"433\" data-attachment-id=\"25121\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/attachment\/image02\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image02.png?fit=661%2C433&amp;ssl=1\" data-orig-size=\"661,433\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image02\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image02.png?fit=661%2C433&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image02.png?resize=661%2C433&#038;ssl=1\" alt=\"\" class=\"wp-image-25121\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image02.png 661w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image02-480x314.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 661px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Come prossimo step occorre creare il load test. Fare click con il pulsante destro del mouse sul progetto di performance test nel solution explorer e aggiungere un nuovo elemento di tipo \u201cLoad Test\u201d. Una volta creato, appare il wizard di configurazione che si suddivide nei seguenti passi:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Tipologia di esecuzione: le scelte possibili sono \u201cCloud-based Load Test with Azure DevOps\u201d (non pi\u00f9 disponibile) o \u201cOn-premises Load Test\u201d. In questo caso occorre scegliere la seconda;<\/li><li>Lunghezza del test: durata temporale oppure numero di iterazioni, in questo caso dipende molto da quanto vogliamo stressare l\u2019applicazione. Generalmente un test della durata di 10 minuti \u00e8 sufficiente per riscontrare dei colli di bottiglia;<\/li><li>Nome dello scenario e think time (per simulare l\u2019interazione utente);<\/li><li>Pattern di carico: costante o graduale;<\/li><li>Modalit\u00e0 di esecuzione dei test (se pi\u00f9 di uno), si pu\u00f2 scegliere come miscelare i test fra loro;<\/li><li>Elenco dei web performance test da eseguire;<\/li><li>Condizioni della rete (LAN, rete cellulare);<\/li><li>Browser su cui simulare i test;<\/li><li>Macchine su cui raccogliere le metriche.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Una volta impostate queste informazioni, siamo pronti per eseguire il nostro test. Il problema che per\u00f2 adesso sorge \u00e8 chi dovrebbe eseguirlo. Volendo, possiamo lanciare il test da Visual Studio ed eseguirlo sulla macchina corrente ma questo sarebbe uno scenario poco realistico perch\u00e9 le chiamate sono generate da un\u2019unica sorgente. Inoltre, se il numero di richieste da dover eseguire \u00e8 molto alto, questo porterebbe la nostra macchina ai limiti imposti dall\u2019hardware.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quello che invece si pu\u00f2 utilizzare \u00e8 un&nbsp;<strong>test rig<\/strong>, ovvero un insieme di macchine collegate fra loro il cui obiettivo \u00e8 distribuire il carico delle richieste da effettuare.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Usando gli strumenti messi a disposizione da Microsoft, creare un test rig \u00e8 abbastanza semplice. Basta infatti installare su una macchina un&nbsp;<strong>Test Controller<\/strong>&nbsp;che gestisce uno o pi\u00f9&nbsp;<strong>Test Agent<\/strong>. Generalmente, non esiste un numero preciso di quanti test agent occorrano, molto dipende dal carico che ci serve.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La topologia di un test rig pu\u00f2 essere simile alla seguente immagine:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"456\" height=\"381\" data-attachment-id=\"25124\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/attachment\/image03\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image03.png?fit=456%2C381&amp;ssl=1\" data-orig-size=\"456,381\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image03\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image03.png?fit=456%2C381&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image03.png?resize=456%2C381&#038;ssl=1\" alt=\"\" class=\"wp-image-25124\" srcset=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image03.png?w=456&amp;ssl=1 456w, https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image03.png?resize=300%2C251&amp;ssl=1 300w\" sizes=\"auto, (max-width: 456px) 100vw, 456px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Per installare un test controller o un test agent, si pu\u00f2 utilizzare&nbsp;<a href=\"https:\/\/visualstudio.microsoft.com\/downloads\/?q=agents\" target=\"_blank\" rel=\"noreferrer noopener\">questo eseguibile<\/a>&nbsp;scegliendo cosa occorre installare. Per il controller serve anche un\u2019 istanza di SQL Server per memorizzare tutte le informazioni collegate ai test. Una volta installate le componenti, \u00e8 possibile metterle in comunicazione registrando gli agent al controller.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"820\" height=\"902\" data-attachment-id=\"25126\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/attachment\/image04\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image04.png?fit=820%2C902&amp;ssl=1\" data-orig-size=\"820,902\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image04\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image04.png?fit=820%2C902&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image04.png?resize=820%2C902&#038;ssl=1\" alt=\"\" class=\"wp-image-25126\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image04.png 820w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image04-480x528.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 820px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nel mio caso, ho cinque macchine virtuali create su Microsoft Azure. La principale ha installato sia Visual Studio che il Test Controller, le altre sono configurate come Test Agent. L\u2019ambiente pu\u00f2 essere poi collegato al load test creato precedentemente tramite il pulsante di configurazione del Test Controller.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"842\" height=\"736\" data-attachment-id=\"25128\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/attachment\/image05\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image05.png?fit=842%2C736&amp;ssl=1\" data-orig-size=\"842,736\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image05\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image05.png?fit=842%2C736&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image05.png?resize=842%2C736&#038;ssl=1\" alt=\"\" class=\"wp-image-25128\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image05.png 842w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image05-480x420.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 842px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Siamo pronti per far partire la nostra prima esecuzione.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Esecuzione di un primo test di carico<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Per eseguire il test di carico, basta utilizzare il tasto \u201cRun Load Test\u201d. Nel mio caso, ho configurato il test per essere eseguito per 10 minuti utilizzando un carico di iniziale di 100 utenti che aumentano ogni 5 secondi fino a raggiungere 4000 utenti concorrenti.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All\u2019avvio, Visual Studio apre una pagina di monitoraggio in tempo reale dei test, con tutti i&nbsp;<strong>performance counter<\/strong>&nbsp;che ci aiutano a identificare l\u2019utilizzo delle risorse. La prossima immagine riepiloga l\u2019andamento delle richieste nell\u2019arco dei 10 minuti. \u00c8&nbsp;interessante notare come il&nbsp;<strong>Page Response Time<\/strong>&nbsp;aumenti con il progredire dei test.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"598\" data-attachment-id=\"25131\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/attachment\/image06\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image06.png?fit=2746%2C1603&amp;ssl=1\" data-orig-size=\"2746,1603\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image06\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image06.png?fit=1024%2C598&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image06.png?resize=1024%2C598&#038;ssl=1\" alt=\"\" class=\"wp-image-25131\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image06-980x572.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image06-480x280.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Una volta completato il test, trovo circa 1000 errori (limite configurabile) con&nbsp;<strong>20391 test falliti&nbsp;<\/strong>su un totale di 23482. Il numero di richieste totali fallite \u00e8 di 146725. Il tutto viene dettagliato nella sezione&nbsp;<strong>Tables&nbsp;<\/strong>e in quella&nbsp;<strong>Summary<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"561\" data-attachment-id=\"25133\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/attachment\/image07\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image07.png?fit=1984%2C1087&amp;ssl=1\" data-orig-size=\"1984,1087\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image07\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image07.png?fit=1024%2C561&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image07.png?resize=1024%2C561&#038;ssl=1\" alt=\"\" class=\"wp-image-25133\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image07-980x537.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image07-480x263.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"599\" data-attachment-id=\"25136\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/attachment\/image08\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image08.png?fit=2727%2C1595&amp;ssl=1\" data-orig-size=\"2727,1595\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image08\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image08.png?fit=1024%2C599&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image08.png?resize=1024%2C599&#038;ssl=1\" alt=\"\" class=\"wp-image-25136\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image08-980x573.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image08-480x281.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Da notare che le richieste fallite ricevono un errore HTTP di tipo&nbsp;<strong>503 \u2013 ServiceUnavailable<\/strong>, che identifica il superamento della quota di utilizzo del mio App Service Plan. Ho quindi trovato un limite di chiamate con l\u2019attuale configurazione. Cosa posso fare a tal punto?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dando un\u2019occhiata alle metriche dell\u2019App Service notiamo anche qui un alto numero di chiamate:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"318\" data-attachment-id=\"25138\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/attachment\/image09\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image09.png?fit=2676%2C831&amp;ssl=1\" data-orig-size=\"2676,831\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image09\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image09.png?fit=1024%2C318&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image09.png?resize=1024%2C318&#038;ssl=1\" alt=\"\" class=\"wp-image-25138\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image09-980x304.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image09-480x149.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Poich\u00e9 il fallimento delle richieste ha il codice HTTP 503, sappiamo che andando ad aumentare il numero di istanze della nostra App Service possiamo sicuramente migliorare la situazione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nella sezione di&nbsp;<strong>Scale-Out&nbsp;<\/strong>nell\u2019App Service,possiamo, ad esempio, incrementare il numero di istanze:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"485\" data-attachment-id=\"25140\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/attachment\/image10\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image10.png?fit=1866%2C884&amp;ssl=1\" data-orig-size=\"1866,884\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image10\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image10.png?fit=1024%2C485&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image10.png?resize=1024%2C485&#038;ssl=1\" alt=\"\" class=\"wp-image-25140\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image10-980x464.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image10-480x227.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Siamo pronti per rieseguire il test e verificare gli effetti di questa nuova configurazione.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Secondo test di carico<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Lanciamo quindi un secondo test e verifichiamo cosa accade. In questo caso, siamo fortunati perch\u00e9 la situazione \u00e8 nettamente migliorata facendo fallire solo un test con un errore HTTP 500. Ma nello stesso tempo, abbiamo eseguito un numero pi\u00f9 alto di richieste con un numero pi\u00f9 alto di test, proprio perch\u00e9 i tempi di risposta si sono accorciati. Il numero totale di test \u00e8 di 54255.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"525\" data-attachment-id=\"25143\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/attachment\/image11\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image11.png?fit=2715%2C1391&amp;ssl=1\" data-orig-size=\"2715,1391\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image11\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image11.png?fit=1024%2C525&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image11.png?resize=1024%2C525&#038;ssl=1\" alt=\"\" class=\"wp-image-25143\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image11-980x502.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image11-480x246.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Naturalmente, questo \u00e8 un caso molto semplice di individuazione del problema. Ci sono scenari con maggiori impatti sulle performance che richiedono maggiori investigazioni utilizzando dei memory profiler come ANTS Profiler.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le App Service integrano inoltre una serie di utility interessanti per poter investigare problemi di performance. Ad esempio, \u00e8 possibile raccogliere un dump della memoria per investigare poi con&nbsp;<strong>PerfView&nbsp;<\/strong>un possibile memory leak.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"520\" data-attachment-id=\"25145\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/attachment\/image12\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image12.png?fit=2052%2C1042&amp;ssl=1\" data-orig-size=\"2052,1042\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image12\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image12.png?fit=1024%2C520&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/image12.png?resize=1024%2C520&#038;ssl=1\" alt=\"\" class=\"wp-image-25145\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image12-980x498.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/11\/image12-480x244.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Infine, il processo di identificazione dei problemi di performance \u00e8 un processo continuo in cui occorre monitorare sia in maniera proattiva che reattiva le proprie applicazioni.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In questo articolo, abbiamo visto come poter identificare problemi di performance nelle nostre applicazioni usando i tool messi a disposizione da Microsoft. La soluzione adottata per migliorare le performance dell\u2019applicazione di esempio, ovvero lo scaling delle istanze, \u00e8 in genere la prima soluzione che si adotta per fronteggiare emergenze. Nel caso in cui i problemi di performance persistono, occorre investigare pi\u00f9 in dettaglio come l\u2019applicazione gestisce le risorse. Ma esamineremo questo aspetto in un futuro articolo.<\/p>\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Scopriamo quanto sono efficienti le nostre applicazioni<\/p>\n","protected":false},"author":196716243,"featured_media":25113,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"1100","_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","inline_featured_image":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[688637374],"tags":[688637377,688637409,688637446],"class_list":["post-10","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-azure","tag-testing","tag-tools"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Load Test con Azure App Service - Blexin<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Load Test con Azure App Service - Blexin\" \/>\n<meta property=\"og:description\" content=\"Scopriamo quanto sono efficienti le nostre applicazioni\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/\" \/>\n<meta property=\"og:site_name\" content=\"Blexin\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-27T23:00:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-08-04T09:22:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/Azure.png?fit=1024%2C608&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"608\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Antonio Liccardi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Antonio Liccardi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/load-test-con-azure-app-service\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/load-test-con-azure-app-service\\\/\"},\"author\":{\"name\":\"Antonio Liccardi\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/#\\\/schema\\\/person\\\/e1e90a04ec265b5c0712c5918ba01e8d\"},\"headline\":\"Load Test con Azure App Service\",\"datePublished\":\"2020-10-27T23:00:09+00:00\",\"dateModified\":\"2021-08-04T09:22:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/load-test-con-azure-app-service\\\/\"},\"wordCount\":1597,\"image\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/load-test-con-azure-app-service\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/blexin.com\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/Azure.png?fit=1024%2C608&ssl=1\",\"keywords\":[\"Azure\",\"Testing\",\"Tools\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/load-test-con-azure-app-service\\\/\",\"url\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/load-test-con-azure-app-service\\\/\",\"name\":\"Load Test con Azure App Service - Blexin\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/load-test-con-azure-app-service\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/load-test-con-azure-app-service\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/blexin.com\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/Azure.png?fit=1024%2C608&ssl=1\",\"datePublished\":\"2020-10-27T23:00:09+00:00\",\"dateModified\":\"2021-08-04T09:22:43+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/#\\\/schema\\\/person\\\/e1e90a04ec265b5c0712c5918ba01e8d\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/load-test-con-azure-app-service\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/load-test-con-azure-app-service\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/load-test-con-azure-app-service\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/blexin.com\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/Azure.png?fit=1024%2C608&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/blexin.com\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/Azure.png?fit=1024%2C608&ssl=1\",\"width\":1024,\"height\":608},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/load-test-con-azure-app-service\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blexin.com\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Load Test con Azure App Service\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/blexin.com\\\/it\\\/\",\"name\":\"Blexin\",\"description\":\"Con noi \u00e8 semplice\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blexin.com\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/#\\\/schema\\\/person\\\/e1e90a04ec265b5c0712c5918ba01e8d\",\"name\":\"Antonio Liccardi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21b389ff00d1ab0b0721987c7aa5e16c34a1a5a8b774bfd4125507ea14f7ecce?s=96&d=identicon&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21b389ff00d1ab0b0721987c7aa5e16c34a1a5a8b774bfd4125507ea14f7ecce?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21b389ff00d1ab0b0721987c7aa5e16c34a1a5a8b774bfd4125507ea14f7ecce?s=96&d=identicon&r=g\",\"caption\":\"Antonio Liccardi\"},\"url\":\"https:\\\/\\\/blexin.com\\\/it\\\/author\\\/antonio-liccardiblexin-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Load Test con Azure App Service - Blexin","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/","og_locale":"it_IT","og_type":"article","og_title":"Load Test con Azure App Service - Blexin","og_description":"Scopriamo quanto sono efficienti le nostre applicazioni","og_url":"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/","og_site_name":"Blexin","article_published_time":"2020-10-27T23:00:09+00:00","article_modified_time":"2021-08-04T09:22:43+00:00","og_image":[{"width":1024,"height":608,"url":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/Azure.png?fit=1024%2C608&ssl=1","type":"image\/png"}],"author":"Antonio Liccardi","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"Antonio Liccardi","Tempo di lettura stimato":"10 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/#article","isPartOf":{"@id":"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/"},"author":{"name":"Antonio Liccardi","@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/e1e90a04ec265b5c0712c5918ba01e8d"},"headline":"Load Test con Azure App Service","datePublished":"2020-10-27T23:00:09+00:00","dateModified":"2021-08-04T09:22:43+00:00","mainEntityOfPage":{"@id":"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/"},"wordCount":1597,"image":{"@id":"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/Azure.png?fit=1024%2C608&ssl=1","keywords":["Azure","Testing","Tools"],"articleSection":["Blog"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/","url":"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/","name":"Load Test con Azure App Service - Blexin","isPartOf":{"@id":"https:\/\/blexin.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/#primaryimage"},"image":{"@id":"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/Azure.png?fit=1024%2C608&ssl=1","datePublished":"2020-10-27T23:00:09+00:00","dateModified":"2021-08-04T09:22:43+00:00","author":{"@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/e1e90a04ec265b5c0712c5918ba01e8d"},"breadcrumb":{"@id":"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/#primaryimage","url":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/Azure.png?fit=1024%2C608&ssl=1","contentUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/Azure.png?fit=1024%2C608&ssl=1","width":1024,"height":608},{"@type":"BreadcrumbList","@id":"https:\/\/blexin.com\/it\/blog\/load-test-con-azure-app-service\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blexin.com\/it\/"},{"@type":"ListItem","position":2,"name":"Load Test con Azure App Service"}]},{"@type":"WebSite","@id":"https:\/\/blexin.com\/it\/#website","url":"https:\/\/blexin.com\/it\/","name":"Blexin","description":"Con noi \u00e8 semplice","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blexin.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/e1e90a04ec265b5c0712c5918ba01e8d","name":"Antonio Liccardi","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/21b389ff00d1ab0b0721987c7aa5e16c34a1a5a8b774bfd4125507ea14f7ecce?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/21b389ff00d1ab0b0721987c7aa5e16c34a1a5a8b774bfd4125507ea14f7ecce?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/21b389ff00d1ab0b0721987c7aa5e16c34a1a5a8b774bfd4125507ea14f7ecce?s=96&d=identicon&r=g","caption":"Antonio Liccardi"},"url":"https:\/\/blexin.com\/it\/author\/antonio-liccardiblexin-com\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/11\/Azure.png?fit=1024%2C608&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pcyUBx-a","jetpack_sharing_enabled":false,"_links":{"self":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts\/10","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/users\/196716243"}],"replies":[{"embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/comments?post=10"}],"version-history":[{"count":28,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts\/10\/revisions"}],"predecessor-version":[{"id":31502,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts\/10\/revisions\/31502"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/media\/25113"}],"wp:attachment":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/media?parent=10"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/categories?post=10"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/tags?post=10"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}