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:
- No Windows Admin Center, conecte-se a um cluster e selecione Configurações no painel Ferramentas à esquerda.
- Selecione Cache na memória em Armazenamento no painel Configurações .
- 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.
- Ao terminar, escolha Salvar.
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: