Compartilhar via


Usar o cache de leitura na memória do CSV

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 CSV (Volume Compartilhado clusterizado). Usar a memória do sistema para armazenar em cache as leituras pode melhorar o desempenho de aplicativos como o Hyper-V, que usa a E/S não armazenada em buffer para acessar arquivos VHD ou VHDX. (E/S não armazenadas em cache são 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. Leituras recentes são armazenadas em cache na memória no mesmo host em que a VM (máquina virtual) está em execução, 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 na memória do CSV é diferente do cache do pool de armazenamento.

Planning considerations

O cache de leitura na memória é mais eficaz para cargas de trabalho com uso intensivo de leitura, como a VDI (Virtual Desktop Infrastructure). Por outro lado, se a carga de trabalho for extremamente intensiva em gravação, o cache poderá introduzir mais sobrecarga do que valor e deve ser desabilitado.

Você pode usar até 80% da memória física total para o cache de leitura na memória do CSV. 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 um padrão previsível ou repetitivo, portanto, o cache na memória não é eficaz e apenas incorre em sobrecarga.

Como configurar o cache de leitura na memória

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

OS version Tamanho do cache CSV padrão
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 ativa ou desativa 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 a quantidade de memória alocada usando o PowerShell, execute o seguinte como administrador:

(Get-Cluster).BlockCacheSize

O valor retornado está em MiB (mebibytes) 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 seus volumes CSV ou mova-os entre servidores. Por exemplo, use esse fragmento do PowerShell para mover cada CSV para outro nó de servidor e retornar:

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

Next steps

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