Considerazioni sulla pianificazione della capacità per Cache nel ruolo di Azure

Importante

Microsoft consiglia tutti i nuovi sviluppi che usano Cache Redis di Azure. Per la documentazione e le indicazioni correnti sulla scelta di un'offerta di Cache di Azure, vedere Quale offerta di Cache di Azure è adatta per l'utente?

La capacità necessaria di una cache cache di In-Role è determinata da diversi fattori, tra cui la quantità di dati da inserire nella cache, la frequenza e la quantità di letture e scritture nella cache e le opzioni, ad esempio la disponibilità elevata, vengono specificate per la cache. Dopo avere determinato i requisiti della cache, è possibile configurare la topologia della cache. La topologia del cluster di cache con provisioning dipende da molti fattori, tra cui le dimensioni della macchina virtuale, il numero di istanze distribuite e il fatto che si tratti di un ruolo condiviso o di un ruolo dedicato alla memorizzazione nella cache. In questo argomento viene illustrato come usare il foglio di calcolo della guida alla pianificazione della capacità per determinare la capacità richiesta della cache e le impostazioni da configurare per effettuare il provisioning di un cluster della cache per soddisfare i requisiti.

Uso del foglio di calcolo per la pianificazione della capacità

Il foglio di calcolo della Guida alla pianificazione della capacità è un foglio di calcolo che può essere scaricato dall'Area download Microsoft e include due fogli di lavoro che possono essere usati per facilitare la pianificazione della capacità: Ruolo dedicato - Planner e Ruolo condiviso - Planner. Ruolo dedicato: Planner fornisce indicazioni sulla creazione di un cluster di cache ruolo dedicato e sul ruolo co-localizzato - Planner fornisce indicazioni sulla creazione di un cluster di cache del ruolo co-localizzato .

Topologia di distribuzione del cluster di cache Descrizione

Memorizzazione nella cache basata su ruolo dedicato

Le istanze di ruolo di lavoro vengono usate esclusivamente per la memorizzazione nella cache.

Memorizzazione nella cache basata su ruolo con risorse condivise

La cache condivide le risorse della macchina virtuale (larghezza di banda, CPU e memoria) con l'applicazione principale ospitata dal ruolo.

Se nei ruoli esistenti dell'applicazione è disponibile una parte di memoria non usata, è possibile configurare un cluster di cache basata su ruolo con risorse condivise su questi ruoli e usare quella memoria supplementare per la memorizzazione nella cache. Se nei ruoli non è disponibile memoria supplementare sufficiente per supportare un cluster di cache, è possibile eseguire la scalabilità orizzontale dei ruoli oppure aggiungere un ruolo di lavoro della cache e configurare un cluster di cache basata su ruolo dedicato. Questa guida consente di determinare le impostazioni da usare per la topologia di distribuzione adatta alle esigenze di memorizzazione nella cache dell'applicazione.

Le sezioni seguenti descrivono come usare i due fogli di lavoro per la pianificazione della capacità per la pianificazione della capacità per il ruolo dedicato e la memorizzazione nella cache dei ruoli in posizione condivisa .

  • Pianificazione - Ruolo dedicato

  • Pianificazione - Ruolo con risorse condivise

Pianificazione - Ruolo dedicato

Il foglio di lavoro Ruolo dedicato - Planner è il primo foglio di lavoro nel foglio di calcolo della guida alla pianificazione della capacità e viene usato per determinare le impostazioni per un cluster cache ruolo dedicato . In un cluster di cache basata su ruolo dedicato, le istanze di ruolo di lavoro sono usate esclusivamente per la memorizzazione nella cache.

Dedicated Cache Capacity Planner

Il foglio di lavoro Ruolo dedicato - Planner accetta diversi tipi di input. La prima sezione , Input: Requisiti dati, viene usata per calcolare le dimensioni massime dei dati per la cache. Per un massimo di dieci tipi di dati, è possibile specificare un valore in Dimensione media degli oggetti dopo la serializzazione, Numero massimo di oggetti attivi e Disponibilità elevata abilitata. Nell'esempio precedente viene modellato un tipo di dati. La dimensione media è di 2.560 byte, con 100.000 come numero massimo di oggetti nella cache. La disponibilità elevata non è abilitata.

La seconda sezione, Input: Requisiti di velocità effettiva, viene usata per calcolare i requisiti di larghezza di banda per la cache e ha come input il numero di letture/sec e il numero di scritture/sec al carico massimo. In questo esempio il carico massimo per tipo di dati 1 è 10.000 letture al secondo e 500 scritture al secondo.

La terza sezione Input: Opzioni avanzate offre diverse impostazioni di input aggiuntive. Cuscinetto per carico di picco - Dati e Cuscinetto per carico di picco - Velocità effettiva forniscono un buffer per picchi di carico dell'applicazione. Queste impostazioni consentono di aumentare o ridurre facilmente il buffer desiderato in base alla quantità e alla velocità effettiva dei dati nella cache.

Mantieni i dati tra gli aggiornamenti di Azure indica se il foglio di calcolo per la pianificazione della capacità deve includere capacità aggiuntiva per scenari di aggiornamento in sequenza quando i ruoli di un dominio di aggiornamento vengono disattivati a causa di un aggiornamento. Quando Azure arresta i ruoli in un dominio di aggiornamento a causa di un aggiornamento, In-Role Cache tenta di spostare i dati negli altri nodi del cluster prima che il nodo venga offline. Se la capacità negli altri nodi non è sufficiente per rilevare il carico aggiuntivo, è possibile che non vengano trasferiti negli altri nodi tutti gli elementi memorizzati nella cache. Per impostazione predefinita, Mantieni i dati tra gli aggiornamenti di Azure è impostato su nel foglio di calcolo per la pianificazione della capacità. Se viene impostato su No, i requisiti di capacità del ruolo saranno inferiori. Quando mantieni i dati in tutti gli aggiornamenti di Azure è impostato su , la guida riserva capacità aggiuntiva equivalente a un dominio di aggiornamento che vale la capacità. Per altre informazioni sui domini di aggiornamento, vedere Panoramica dell'aggiornamento di un servizio di Azure.

Nota

Se un nodo viene disattivato a causa di un errore o a seguito della riduzione del numero di istanze di ruolo a causa di una modifica di configurazione, i dati della cache non vengono spostati negli altri nodi. In-Role Cache sposta solo i dati in altri nodi quando è pianificato l'arresto. È possibile abilitare la disponibilità elevata per creare copie di backup dei dati della cache nell'eventualità che si verifichi un errore in un nodo. Per altre informazioni, vedere Disponibilità elevata in Cache In-Role di Azure.

Numero domini di aggiornamento fa riferimento al numero di domini di aggiornamento per il ruolo che ospita il cluster di cache. È possibile consentire al foglio di calcolo per la pianificazione della capacità di proporre un numero di domini di aggiornamento per il cluster di cache oppure impostare tale valore. L'impostazione predefinita è Impostato dalla pianificazione. Quando si seleziona Set by planner , il foglio di calcolo della pianificazione della capacità fornisce un consiglio nella colonna Aggiorna domini della sezione Output: Possibili configurazioni . Quando un conteggio di dominio di aggiornamento viene specificato manualmente in Conteggio dominio di aggiornamento, il conteggio specificato viene visualizzato nella sezione Output . Per altre informazioni sui domini di aggiornamento, vedere Panoramica dell'aggiornamento di un servizio di Azure.

Dopo aver configurato gli input, lo strumento fornisce proposte nella sezione Output: Possibili configurazioni . In questo esempio la configurazione consigliata è una dimensione di macchina virtuale media con 3 istanze del ruolo e un numero di dominio di aggiornamento pari a 3. Oltre alla configurazione consigliata, la sezione Output: Possibili configurazioni mostra le impostazioni necessarie se viene scelta una delle altre dimensioni della macchina virtuale.

Se le dimensioni medie degli oggetti presenti nella cache sono inferiori a 2000, la guida per la pianificazione della capacità visualizza una colonna CacheDataSize (MB)* e una nota nella sezione Output.

Dedicated Cache Capacity Planner Cache Settings

Nota

Il collegamento visualizzato nella sezione Output rimanda all'argomento Considerazioni sulla pianificazione della capacità attualmente visualizzato.

Se viene visualizzato questo messaggio, creare nel progetto di ruolo un file XML denominato CacheSettings.xml e aggiungere una sezione dataCache contenente l'impostazione CacheDataSize (MB) della sezione Output attenendosi alla procedura riportata di seguito.

  1. Fare clic con il pulsante destro del mouse sul ruolo di progetto che ospita il cluster di cache in Esplora soluzioni e scegliere Aggiungi, Nuovo elemento. Selezionare File XML nel riquadro Modelli, digitare CacheSettings.xml nella casella Nome e fare clic su Aggiungi.

  2. Copiare lo snippet XML riportato di seguito e incollarlo nel file CacheSettings.xml.

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="dataCache" type="Microsoft.ApplicationServer.Caching.DataCacheSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" />
      </configSections>
      <dataCache size="Small">
        <advancedProperties>
          <memoryPressureMonitor cacheUserDataSizePerNode="[CacheDataSize (MB) Setting]" />
        </advancedProperties>
      </dataCache>
    </configuration>
    

    Sostituire [CacheDataSize (MB) Setting] con l'impostazione della colonna CacheDataSize (MB) corrispondente alla dimensione della macchina virtuale. Il seguente esempio usa 2088.

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="dataCache" type="Microsoft.ApplicationServer.Caching.DataCacheSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" />
      </configSections>
      <dataCache size="Small">
        <advancedProperties>
          <memoryPressureMonitor cacheUserDataSizePerNode="2088" />
        </advancedProperties>
      </dataCache>
    </configuration>
    

    Importante

    Non modificare altre impostazioni in questo frammento di codice, ad esempio l'attributo dataCachesize . L'attributo dataCachesize non specifica le dimensioni del ruolo della macchina virtuale che si usa per il cluster della cache e deve essere impostato su Small.

    Il file CacheCluster.xml verrà distribuito insieme all'applicazione e contiene la configurazione necessaria.

Per usare il foglio di lavoro Pianificazione - Ruolo dedicato, immettere i valori corrispondenti ai propri requisiti di memorizzazione nella cache nella sezione Input. Usare le proposte consigliate come punto di partenza per configurare il cluster di cache. Per configurare una cache basata su ruolo dedicato, aggiungere un Ruolo di lavoro cache al progetto e configurare le proprietà del cluster di cache. Per un esempio di configurazione di un cluster di cache dei ruoli dedicato, vedere Procedura: Configurare un cluster cache per Azure In-Role Cache.

Pianificazione - Ruolo con risorse condivise

Il foglio di lavoro Ruolo condiviso - Planner è il secondo foglio di lavoro del foglio di lavoro della Guida alla pianificazione della capacità e viene usato per determinare le impostazioni per un cluster cache del ruolo in posizione condivisa . In un cluster di cache basata su ruolo con risorse condivise, le risorse delle istanze di ruolo (memoria, CPU e larghezza di banda) sono condivise tra la memorizzazione nella cache e l'applicazione.

Co-Located Cache Capacity Planner

Per usare il foglio di lavoro Ruolo condiviso - Planner , immettere la configurazione del ruolo nella sezione Input: Configurazione cluster . In Dimensioni macchina virtuale immettere le dimensioni della macchina virtuale che ospita il ruolo e specificare il numero di istanze di ruolo in Numero di istanze della macchina virtuale. Immettere la dimensione desiderata per la cache in Dati utente da archiviare nella cache e specificare l'impostazione desiderata in Disponibilità elevata abilitata. Immettere se si vuole abilitare la disponibilità elevata o No se non. In questo esempio, la macchina virtuale è di dimensioni medie con 3 istanze di ruolo e la dimensione desiderata della cache è di 1500 MB, senza disponibilità elevata.

Dopo avere configurato gli input, lo strumento fornisce una raccomandazione sulla fattibilità dell'hosting del cluster di cache desiderato nelle istanze di ruolo esistenti, oltre all'impostazione da usare per il dispositivo di scorrimento Dimensioni cache nella scheda Caching delle proprietà del ruolo. Si trovano nella sezione Output: Fattibilità & Impostazioni. In questo esempio, il valore di Dimensioni cache (%) sarebbe pari al 30%, con la percentuale rimanente usata dal sistema operativo e da altri processi. Se la dimensione desiderata per la cache non è fattibile nella configurazione di ruolo corrente, è possibile modellare altre configurazioni modificando le dimensioni della macchina virtuale, il numero di istanze di ruolo e le dimensioni della cache, fino a individuare una configurazione in linea con le esigenze dell'applicazione.

Caching Role Properties

Per usare il foglio di lavoro Ruolo condiviso - Planner , immettere i valori nella sezione Input: Configurazione cluster corrispondente ai requisiti di memorizzazione nella cache. Usare le raccomandazioni nella sezione di output come punto di partenza per determinare la configurazione del cluster di cache.

Nota

Il carico che una cache basata su risorse condivise può reggere dipende dalla quantità di larghezza di banda/CPU disponibile per la memorizzazione nella cache, dopo avere tenuto conto dell'uso di larghezza di banda e CPU da parte dell'applicazione principale. Durante il test devono essere verificate le prestazioni sia della cache che dell'applicazione principale.

Dopo avere determinato la configurazione del cluster di cache, quest'ultimo può essere configurato nelle pagine delle proprietà per il ruolo. Per un esempio di configurazione di un cluster cache di ruoli condiviso, vedere Procedura: Configurare un cluster cache per Azure In-Role Cache.