Partilhar via


Usar o cache de leitura CSV na memória

Aplica-se a: Azure Stack HCI, versões 22H2 e 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

Este tópico descreve como usar a memória do sistema para aumentar o desempenho do Azure Stack HCI e do Windows Server armazenando em cache leituras frequentes. As gravações não podem ser armazenadas em cache na memória.

O Azure Stack HCI e o Windows Server são compatíveis com o cache de leitura na memória do Volume Compartilhado do Cluster (CSV). O uso da memória do sistema para armazenar leituras em cache pode melhorar o desempenho de aplicativos como o Hyper-V, que usa E/S sem buffer para acessar arquivos VHD ou VHDX. (E/S sem buffer são quaisquer operações que não são armazenadas em cache pelo Gerenciador de Cache do Windows.)

Como o cache na memória é local do servidor, ele melhora a localidade dos dados. As leituras recentes são armazenadas em cache na memória no mesmo host em que a máquina virtual (VM) está sendo executada, reduzindo a frequência com que as leituras passam pela rede. Isso resulta em menor latência e melhor desempenho de armazenamento.

Observe que o cache de leitura CSV na memória é diferente do cache do pool de armazenamento.

Planning considerations

O cache de leitura na memória é mais eficaz para cargas de trabalho de leitura intensiva, como VDI (Virtual Desktop Infrastructure). Em contrapartida, se a carga de trabalho for extremamente intensiva para operações de escrita, o cache pode introduzir mais sobrecarga do que valor e deve ser desativado.

Você pode usar até 80% de memória física total para o cache de leitura CSV na memória. Tenha cuidado para deixar memória suficiente para suas VMs!

Note

Certain microbenchmarking tools like DISKSPD and VM Fleet may produce worse results with the CSV in-memory read cache enabled than without it. By default VM Fleet creates one 10 GiB VHDX per VM – approximately 1 TiB total for 100 VMs – and then performs uniformly random reads and writes to them. Ao contrário das cargas de trabalho reais, as leituras não seguem nenhum padrão previsível ou repetitivo, portanto, o cache na memória não é eficaz e apenas incorre em sobrecarga.

Configurando o cache de leitura na memória

O cache de leitura CSV na memória está disponível no Azure Stack HCI, Windows Server 2019 e Windows Server 2016 com a mesma funcionalidade. No Azure Stack HCI e no Windows Server 2019, ele está ativado por padrão com 1 gibibyte (GiB) alocado. No Windows Server 2016, ele está desativado por padrão.

OS version Tamanho padrão do cache CSV
Azure Stack HCI 1 GiB
Windows Server 2019 1 GiB
Windows Server 2016 0 (disabled)

Configurar o cache usando o Windows Admin Center

Para configurar o cache usando o Windows Admin Center, faça o seguinte:

  1. In Windows Admin Center, connect to a cluster, and then select Settings from the Tools pane on the left.
  2. Select In-memory cache under Storage on the Settings pane.
  3. No painel direito, uma caixa de seleção habilita ou desabilita o cache, e você também pode especificar a memória máxima por servidor a ser alocada para o cache.
  4. When done, select Save.

No Windows Admin Center, uma caixa de seleção habilita ou desabilita o cache. Você também pode especificar a memória máxima por servidor a ser alocada para o cache.

Configurar o cache usando o PowerShell

Para ver quanta memória é alocada usando o PowerShell, execute o seguinte como administrador:

(Get-Cluster).BlockCacheSize

O valor retornado é em mebibytes (MiB) por servidor. Por exemplo, 1024 representa 1 GiB.

Para alterar a quantidade de memória alocada, modifique esse valor usando o PowerShell. Por exemplo, para alocar 2 GiB por servidor, execute:

(Get-Cluster).BlockCacheSize = 2048

Para que as alterações entrem em vigor imediatamente, pause e retome os volumes CSV ou mova-os entre servidores. Por exemplo, use este fragmento do PowerShell para mover cada CSV para outro nó de servidor e vice-versa:

Get-ClusterSharedVolume | ForEach {
    $Owner = $_.OwnerNode
    $_ | Move-ClusterSharedVolume
    $_ | Move-ClusterSharedVolume -Node $Owner
}

Next steps

Para obter informações relacionadas, consulte também: