Habilitar e configurar o cache de disco da VM do Azure com o portal do Azure
Vimos as configurações e propriedades que você pode selecionar para prever o desempenho do disco. Agora, vamos ver maneiras de melhorar isso através da cache .
Cache de disco
Um cache é um componente especializado que armazena dados, normalmente na memória, para que possam ser acessados mais rapidamente. Os dados em um cache geralmente são dados que foram lidos anteriormente ou dados que resultaram de um cálculo anterior. O objetivo é acessar dados mais rapidamente do que obtê-los do disco.
O cache usa armazenamento temporário especializado (e às vezes caro) que tem um desempenho de leitura e gravação mais rápido do que o armazenamento permanente. Como o armazenamento em cache geralmente é limitado, você precisa tomar decisões sobre quais operações de dados se beneficiam mais do cache. Mas mesmo onde o cache pode ser amplamente disponível, como no Azure, ainda é importante conhecer os padrões de carga de trabalho de cada disco antes de decidir qual tipo de cache usar.
de cache de leitura tenta acelerar a recuperação de dados . Em vez de ler a partir do armazenamento permanente, os dados são lidos a partir do cache mais rápido. As leituras de dados atingem o cache nas seguintes condições:
- Os dados foram lidos anteriormente e existem no cache.
- O cache é grande o suficiente para armazenar todos os dados.
É importante notar que o cache de leitura ajuda quando há alguma previsibilidade na fila de leitura, como um conjunto de leituras sequenciais. Para E/S aleatórias, em que os dados que você está acessando estão espalhados pelo armazenamento, o cache é de pouco ou nenhum benefício e pode até reduzir o desempenho do disco.
A cache de escrita tenta acelerar a gravação dos dados para o armazenamento persistente. Quando uma aplicação usa um cache de escrita, pode considerar que os dados estão guardados. Na realidade, os dados são enfileirados em um cache, esperando para serem gravados em um disco. Como você pode imaginar, esse mecanismo pode ser um ponto potencial de falha, como quando um sistema é desligado antes que os dados armazenados em cache sejam gravados. Alguns sistemas, como o SQL Server, são responsáveis por gravar os dados em cache no armazenamento em disco persistente.
Cache de disco do Azure
Há dois tipos de cache de disco que dizem respeito ao armazenamento em disco:
- Cache de armazenamento do Azure
- Cache de disco da máquina virtual (VM) do Azure
O cache de armazenamento do Azure fornece serviços de cache para armazenamento de Blob do Azure, Arquivos do Azure e outros conteúdos no Azure. A configuração desses tipos de cache está além do escopo deste módulo.
O cache de disco da máquina virtual do Azure trata da otimização do acesso de leitura e gravação aos arquivos de disco rígido virtual (VHD) anexados às VMs do Azure. Neste módulo, nos concentramos no cache de disco.
O cache de disco não é suportado para Ultra Disks ou SSD Premium v2, no entanto, eles já se beneficiam de latência mais baixa, o que resolve alguns dos mesmos problemas principais do cache de disco.
Tipos de disco de máquina virtual do Azure
Há três tipos de discos usados com VMs do Azure:
Disco do sistema operativo: quando se cria uma VM do Azure, a Azure anexa automaticamente um VHD para o sistema operativo (SO).
de disco temporário: quando você cria uma VM do Azure, o Azure também adiciona automaticamente um disco temporário. Este disco é usado para dados, como ficheiros de paginação e de troca. Os dados neste disco podem ser perdidos durante a manutenção ou uma reimplantação de VM. Não o use para armazenar dados permanentes, como arquivos de banco de dados ou logs de transações.
Discos de dados: Um disco de dados é um VHD conectado a uma máquina virtual para armazenar dados de aplicativos ou outros dados que você precisa manter.
Os discos do SO e os discos de dados tiram partido da cache de disco da VM do Azure. O tamanho do cache para um disco VM depende do tamanho da instância da VM e do número de discos montados na VM. Você pode habilitar o cache para apenas discos de até 4 TiB.
Opções de cache para VMs do Azure
Há três opções comuns para o cache de disco da VM:
- de leitura/gravação: cache de write-back. Use essa opção somente se seu aplicativo lidar corretamente com a gravação de dados armazenados em cache em discos persistentes quando necessário.
- Apenas leitura: As leituras são feitas a partir da cache.
- Nenhum: Sem cache. Selecione esta opção para discos somente gravação e discos com alta carga de gravação. Os arquivos de log são um bom candidato porque são operações com muita gravação.
Nem todas as opções de cache estão disponíveis para cada tipo de disco. A tabela a seguir mostra as opções de cache para cada tipo de disco:
somente leitura | Leitura/gravação | Nenhum | |
---|---|---|---|
de disco do SO | Sim | sim (padrão) | Sim |
Disco de dados | sim (padrão) | Sim | Sim |
Disco temporário | Não | Não | Não |
Observação
Não é possível alterar as opções de cache de disco para máquinas virtuais das séries L e B, identificadas como e .
Considerações de desempenho para cache de disco de VM do Azure
Então, como suas configurações de cache podem afetar o desempenho de suas cargas de trabalho em execução em VMs do Azure?
Disco do SO
O comportamento padrão de um disco do sistema operacional VM é usar o cache no modo de leitura/gravação. Então, se você tiver aplicativos que armazenam arquivos de dados no disco do sistema operacional e executam muitas operações aleatórias de leitura / gravação para os arquivos de dados. Considere mover esses arquivos para um disco de dados que tenha o cache desativado. A que se deve isso? Bem, se a fila de leitura não contiver leituras sequenciais, o cache terá pouco ou nenhum benefício. A sobrecarga de manter o cache como se os dados fossem sequenciais pode reduzir o desempenho do disco.
Discos de dados
Para aplicativos sensíveis ao desempenho, você deve usar discos de dados em vez do disco do sistema operacional. O uso de discos separados permite que você defina as configurações de cache apropriadas para cada um.
Por exemplo, em VMs do Azure que executam o SQL Server, habilitar cache de somente leitura nos discos de dados (para dados regulares e TempDB) pode resultar em melhorias significativas de desempenho. Os arquivos de log, por outro lado, são bons candidatos para discos de dados sem cache.
Advertência
Alterar a configuração de cache de um disco do Azure desanexa e, em seguida, reanexa o disco de destino. Se for o disco do sistema operacional, a VM será reiniciada. Pare todos os aplicativos/serviços que possam ser afetados por essa interrupção antes de alterar a configuração do cache de disco.
Você pode definir as configurações de cache de disco da máquina virtual com qualquer uma das seguintes ferramentas:
- Portal do Azure
- Azure CLI
- Azure PowerShell
- Modelos do Resource Manager
Usar o portal do Azure para configurar o cache
Ao provisionar uma nova VM usando o portal do Azure, você não pode alterar a configuração de cache padrão para o disco do sistema operacional de leitura/gravação até que a VM seja implantada.
Ao adicionar um disco de dados a uma VM existente, você pode configurar a opção de cache antes que o disco seja implantado na VM.
Em seguida, vamos criar uma VM e alterar as configurações de cache usando o portal do Azure.