Ridimensionare automaticamente le unità di un servizio Azure SignalR

Importante

La scalabilità automatica è disponibile solo nel livello Premium del servizio Azure SignalR.

Il livello Premium del servizio Azure SignalR supporta una funzionalità di scalabilità automatica, che è un'implementazione della scalabilità automatica di Monitoraggio di Azure. La scalabilità automatica consente di ridimensionare automaticamente il numero di unità per il servizio SignalR in modo che corrisponda al carico effettivo sul servizio. La scalabilità automatica consente di ottimizzare le prestazioni e i costi per l'applicazione.

Azure SignalR aggiunge le proprie metriche del servizio. Tuttavia, la maggior parte dell'interfaccia utente è condivisa e comune ad altri servizi di Azure che supportano la scalabilità automatica. Se non si ha familiarità con l'oggetto delle metriche di Monitoraggio di Azure, vedere Aggregazione delle metriche di Monitoraggio di Azure e visualizzare le informazioni illustrate prima di esaminare le metriche del servizio SignalR.

Informazioni sulla scalabilità automatica nel servizio SignalR

La scalabilità automatica consente di impostare condizioni che cambieranno dinamicamente le unità allocate al servizio SignalR mentre il servizio è in esecuzione. Le condizioni di scalabilità automatica sono basate su metriche, ad esempio il carico del server. La scalabilità automatica può essere configurata anche per l'esecuzione in base a una pianificazione, ad esempio ogni giorno tra determinate ore.

Ad esempio, è possibile implementare gli scenari di ridimensionamento seguenti usando la scalabilità automatica.

  • Aumentare le unità quando l'utilizzo della quota di connessione è superiore al 70%.
  • Ridurre le unità quando il carico del server è inferiore al 20%.
  • Creare una pianificazione per aggiungere altre unità durante le ore di punta e ridurre le unità durante gli orari di minore attività.

Più fattori influiscono sulle prestazioni del servizio SignalR. Nessuna metrica offre una visualizzazione completa delle prestazioni del sistema. Ad esempio, se si invia un numero elevato di messaggi, potrebbe essere necessario aumentare il numero di istanze anche se la quota di connessione è relativamente bassa. La combinazione di utilizzo della quota di connessione e del carico del server fornisce un'indicazione del carico complessivo del sistema. Si applicano le linee guida seguenti.

  • Aumentare il numero di istanze se il conteggio delle connessioni è superiore all'80-90%. L'aumento del numero di connessioni prima dell'esaurimento del numero di connessioni garantisce che il buffer sia sufficiente per accettare nuove connessioni prima che il numero di istanze venga applicato.
  • Aumentare il numero di istanze se il carico del server è superiore all'80-90%. La scalabilità anticipata garantisce che il servizio disponga di capacità sufficiente per mantenere le prestazioni durante l'operazione di scalabilità orizzontale.

L'operazione di scalabilità automatica richiede in genere 3-5 minuti dopo l'attivazione. È importante non modificare troppo spesso le unità. Una buona regola generale consiste nel consentire 30 minuti dalla scalabilità automatica precedente prima di eseguire un'altra operazione di scalabilità automatica. In alcuni casi, potrebbe essere necessario sperimentare per trovare l'intervallo di scalabilità automatica ottimale.

Impostazioni di scalabilità automatica personalizzate

Aprire la pagina delle impostazioni di scalabilità automatica:

  1. Vai al portale di Azure.

  2. Aprire la pagina del servizio SignalR .

  3. Dal menu a sinistra, in Impostazioni scegliere Scale out.

  4. Selezionare la scheda Configura . Se si dispone di un'istanza di SignalR di livello Premium, verranno visualizzate due opzioni per Scegliere come ridimensionare la risorsa:

    • Scala manuale, che consente di modificare manualmente il numero di unità.
    • Scalabilità automatica personalizzata, che consente di creare condizioni di scalabilità automatica in base alle metriche e/o a una pianificazione dell'ora.
  5. Scegliere Scalabilità automatica personalizzata. Usare questa pagina per gestire le condizioni di scalabilità automatica per il servizio Azure SignalR.

Condizione di scalabilità predefinita

Quando si aprono le impostazioni di scalabilità automatica personalizzate per la prima volta, verrà visualizzata la condizione di scalabilità predefinita già creata automaticamente. Questa condizione di ridimensionamento viene eseguita quando nessuna delle altre condizioni di ridimensionamento corrisponde ai criteri impostati per tali condizioni. Non è possibile eliminare la condizione Predefinita, ma è possibile rinominarla, modificare le regole e modificare l'azione eseguita dalla scalabilità automatica.

Non è possibile impostare la condizione predefinita per la scalabilità automatica in un intervallo di giorni o di date specifico. La condizione predefinita supporta solo il ridimensionamento in un intervallo di unità. Per ridimensionare in base a una pianificazione, è necessario aggiungere una nuova condizione di scalabilità.

La scalabilità automatica non diventa effettiva finché non si salva la condizione predefinita per la prima volta dopo aver selezionato Scalabilità automatica personalizzata.

Aggiungere o modificare una condizione di scalabilità

Sono disponibili due opzioni per ridimensionare la risorsa Azure SignalR:

  • Ridimensionare in base a una metrica: scalare entro i limiti di unità in base a una metrica dinamica. Vengono definite una o più regole di scalabilità per impostare i criteri usati per valutare la metrica.
  • Scalare in unità specifiche: scalare fino a un numero specifico di unità in base a un intervallo di date o a una pianificazione ricorrente.

Ridimensiona in base a una metrica

La procedura seguente illustra come aggiungere una condizione per aumentare le unità (aumento delle istanze) quando l'utilizzo della quota di connessione è maggiore del 70% e diminuire le unità (ridimensionamento) quando l'utilizzo della quota di connessione è inferiore al 20%. Gli incrementi o i decrementi vengono eseguiti tra le unità disponibili.

  1. Nella pagina Scale Out selezionare Scalabilità automatica personalizzata per l'opzione Scegliere come ridimensionare la risorsa.

  2. Selezionare Ridimensiona in base a una metrica in Modalità di ridimensionamento.

  3. Selezionare + Aggiungi una regola. Screenshot della regola personalizzata basata su una metrica.

  4. Nella pagina Regola di scalabilità, seguire questa procedura:

    1. Selezionare una metrica dall'elenco a discesa Nome della metrica. In questo esempio si tratta dell'utilizzo della quota di connessione.
    2. Selezionare un operatore e i valori di soglia. In questo esempio sono maggiore di e 70 per Soglia della metrica per l'attivazione dell'azione di aumento/riduzione.
    3. Selezionare una operazione nella sezione Azione. In questo esempio viene impostato su Incrementa.
    4. Quindi, selezionare AggiungiScreenshot della schermata predefinita della regola di scalabilità automatica..
  5. Selezionare di nuovo + Aggiungi una regola e seguire questa procedura nella pagina Regola di scalabilità:

    1. Selezionare una metrica dall'elenco a discesa Nome della metrica. In questo esempio si tratta dell'utilizzo della quota di connessione.
    2. Selezionare un operatore e i valori di soglia. In questo esempio sono Inferiore a e 20 per Soglia della metrica per l'attivazione dell'azione di scalabilità.
    3. Selezionare una operazione nella sezione Azione. In questo esempio viene impostato su Riduci.
    4. Quindi, selezionare AggiungiScreenshot della regola di scalabilità utilizzo quota di connessione..
  6. Impostare il numero minimo, massimo e predefinito di unità.

  7. Selezionare Salva sulla barra degli strumenti per salvare le impostazioni di scalabilità automatica.

Scalare in unità specifiche

Seguire questa procedura per configurare la regola per la scalabilità in un intervallo di unità specifico.

  1. Nella pagina Scale Out selezionare Scalabilità automatica personalizzata per l'opzione Scegliere come ridimensionare la risorsa.
  2. Selezionare Scala in unità specifiche per la modalità Scala.
  3. Per Unità, selezionare il numero di unità predefinite. Screenshot dei criteri delle regole di scalabilità.

Aggiungere altre condizioni

La sezione precedente ha illustrato come aggiungere una condizione predefinita per l'impostazione di scalabilità automatica. Questa sezione illustra come aggiungere altre condizioni all'impostazione di scalabilità automatica.

  1. Nella pagina Scale Out selezionare Scalabilità automatica personalizzata per l'opzione Scegliere come ridimensionare la risorsa.
  2. Selezionare Aggiungi una condizione di scalabilità nel blocco Predefinito. Screenshot della schermata della regola di scalabilità personalizzata.
  3. Verificare che sia selezionata l'opzione Ridimensiona in base a una metrica.
  4. Selezionare + Aggiungi una regola per aggiungere una regola per aumentare le unità quando l'utilizzo della quota di connessione supera il 70%. Seguire i passaggi della sezione Condizione predefinita.
  5. Impostare il numero minimo e massimo e predefinito di unità di streaming.
  6. È anche possibile impostare una pianificazione in una condizione personalizzata (ma non nella condizione predefinita). È possibile specificare le date di inizio e di fine per la condizione (o) selezionare giorni specifici (lunedì, martedì e così via) di una settimana.
    1. Se si seleziona Specificare le date di inizio/fine, selezionare un valore in Fuso orario, Data e ora di inizio e Data e ora di fine (come illustrato nell'immagine seguente) affinché la condizione sia attiva.
    2. Se si seleziona Ripeti in giorni specifici, selezionare i giorni della settimana, il fuso orario, l'ora di inizio e l'ora di fine in cui deve essere applicata la condizione.

Passaggi successivi

Per altre informazioni sulla gestione della scalabilità automatica dall'interfaccia della riga di comando di Azure, vedere az monitor autoscale.