Esercizio - Aumentare le prestazioni di un'app Web

Completato

Con l'aumento delle prestazioni vengono rese disponibili risorse più efficaci per l'esecuzione di un'app Web. Viene aumentato anche il numero di istanze disponibili per l'ampliamento del livello di servizio.

Nel sistema di prenotazioni di hotel, si dovrebbe attuare un ampliamento del livello di servizio per gestire il numero crescente di visitatori dell'app Web. L'aumento delle prestazioni consente di aumentare ulteriormente le prestazioni. La scalabilità verticale è probabilmente necessaria anche per supportare le nuove funzionalità aggiunte all'app Web.

In questo esercizio, si vanno ad aumentare le prestazioni dell'app Web del sistema di prenotazioni di hotel implementato in precedenza. Si usa la stessa applicazione client di test usata in precedenza e si monitorano le prestazioni dell'app Web.

Esaminare il piano tariffario corrente dell'app Web

Importante

Per eseguire questo esercizio è necessario disporre di una propria sottoscrizione di Azure e questo potrebbe comportare dei costi. Se non hai ancora una sottoscrizione di Azure, crea un account gratuito prima di iniziare.

  1. Accedere al portale di Azure.

  2. Nel menu del portale di Azure o nella home page selezionare Tutte le risorse e quindi passare al piano del servizio app.

  3. In Impostazioni selezionare Aumenta prestazioni (piano di servizio app). Si dovrebbero vedere i dettagli del piano tariffario del proprio piano di servizio app. Il piano tariffario è S1, che offre 100 unità di calcolo di Azure e 1,75 GB di memoria in esecuzione in una macchina virtuale di serie A.

    Screenshot dei dettagli del piano tariffario per il piano di servizio app S1.

Eseguire l'app client di test

  1. Nella finestra Cloud Shell sul lato destro della schermata passare alla cartella ~/mslearn-hotel-reservation-system/src/HotelReservationSystemTestClient:

    cd ~/mslearn-hotel-reservation-system/src/HotelReservationSystemTestClient
    
  2. Eseguire l'app client. Consentire l'esecuzione del sistema per un paio di minuti. Come all'inizio dell'esercizio precedente, le risposte sono lente. Le richieste client hanno esito negativo in poco tempo e con errori HTTP 408 (timeout).

    dotnet run
    
  3. Continuare l'esecuzione dell'app. Attendere altri cinque minuti. Passare quindi al grafico che mostra le metriche dell'app Web nel dashboard del portale di Azure. Come nell'esercizio precedente, si noterà che le statistiche indicano un tempo di risposta relativamente lento e molti errori HTTP 4xx.

Aumentare le prestazioni dell'app Web e monitorare i risultati

  1. Nel portale di Azure tornare alla pagina relativa al piano di servizio app.

  2. In Impostazioni selezionare Aumenta prestazioni (piano di servizio app).

  3. Selezionare il piano tariffario P2V2 e quindi selezionare Applica. Questo piano tariffario offre 420 ACU (più di quattro volte la potenza del piano tariffario S1) e 7 GB di memoria in esecuzione su una macchina virtuale serie Dv2. Il costo di questa macchina virtuale è però quattro volte superiore al costo dell'esecuzione del piano tariffario S1.

  4. Attendere altri cinque minuti, quindi visualizzare il grafico delle prestazioni nel dashboard, nel portale di Azure.

  5. In corrispondenza del momento in cui il sistema è stato sottoposto ad aumento delle prestazioni si potrebbero notare alcuni altri errori server HTTP. Questi errori sono dovuti all'interruzione delle richieste del client in corso quando il sistema ha cambiato hardware. Dopo l'aumento delle prestazioni, il tempo della CPU migliora rapidamente perché sono disponibili più processori. Potrebbe non essere possibile notare lo stesso calo del tempo di risposta osservato durante l'ampliamento. Questo comportamento è dovuto al fatto che si usa ancora una sola istanza. Le richieste non vengono bilanciate perché sono state ridimensionate quando si aumenta il numero di istanze. Ora però si ha la possibilità di eseguire l'ampliamento del livello di servizio su più istanze (20) rispetto alla situazione precedente.

    Il grafico nell'immagine seguente mostra un esempio delle metriche delle prestazioni per l'app Web. È indicato il punto in corrispondenza del quale sono state aumentate le prestazioni del sistema.

    Screenshot del grafico delle prestazioni per l'app Web, con il punto di aumento delle prestazioni indicato.

  6. Tornare all'istanza di Cloud Shell che esegue l'app client. Premere INVIO per arrestare l'app.