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

Importante

O Azure Stack HCI agora faz parte do Azure Local. A renomeação da documentação do produto está em andamento. No entanto, as versões mais antigas do Azure Stack HCI, por exemplo, 22H2, continuarão a fazer referência ao Azure Stack HCI e não refletirão a alteração de nome. Saiba mais.

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 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/Ss sem buffer são todas as 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 do mesmo host em que a VM (máquina virtual) 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 na memória CSV é diferente do cache do conjunto de armazenamentos.

Considerações sobre o planejamento

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!

Observação

Determinadas ferramentas de microbenchmarking, como DISKSPD e Frota de VM, podem produzir resultados piores com o cache de leitura na memória do CSV habilitado do que sem ele. Por padrão, a Frota de VMs cria um VHDX de 10 GiB por VM – aproximadamente 1 TiB no total para 100 VMs – e, em seguida, executa leituras e gravações uniformemente aleatórias nelas. 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 CSV 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 GiB (gibibyte) alocado. No Windows Server 2016, está desativado por padrão.

Versão do SO Tamanho do cache CSV padrão
Azure Stack HCI 1 GiB
Windows Server 2019 1 GiB
Windows Server 2016 0 (desabilitado)

Configurar o cache usando Windows Admin Center

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

  1. No Windows Admin Center, conecte-se a um cluster e selecione Configurações no painel Ferramentas à esquerda.
  2. Selecione Cache na memória em Armazenamento no painel Configurações .
  3. No painel direito, uma caixa de seleção ativa ou desativa o cache, e você também pode especificar a memória máxima por servidor a ser alocada para o cache.
  4. Ao terminar, escolha Salvar.

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 está 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
}

Próximas etapas

Para informações relacionadas, confira também: