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

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. Mais informações.

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.

Considerações sobre o planeamento

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

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

Nota

Certas ferramentas de microbenchmarking como DISKSPD e VM Fleet podem produzir resultados piores com o cache de leitura CSV na memória ativado do que sem ele. Por padrão, o VM Fleet cria um VHDX de 10 GiB por VM – aproximadamente 1 TiB total para 100 VMs – e, em seguida, executa leituras e gravações uniformemente aleatórias neles. 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.

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

Configurar o cache usando o Windows Admin Center

Para configurar o cache usando o 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 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. Quando terminar, selecione Guardar.

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
}

Próximos passos

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