Considerações de desempenho para o armazenamento de arquivos NetApp do Azure com acesso legal
Os conjuntos de dados nem sempre são usados ativamente. Até 80% dos dados de um conjunto podem ser considerados "legais", o que significa que não estão atualmente em uso ou não foram acessados recentemente. Ao armazenar dados em armazenamento de alto desempenho, como os Arquivos NetApp do Azure, o dinheiro gasto na capacidade que está sendo usada está sendo essencialmente desperdiçado, uma vez que os dados legais não exigem armazenamento de alto desempenho até que sejam acessados novamente.
O armazenamento de Arquivos NetApp do Azure com acesso legal destina-se a reduzir os custos de armazenamento em nuvem no Azure. Há considerações de desempenho em casos de uso específicos que precisam ser consideradas.
O acesso a dados que foram movidos para as camadas legais incorre em mais latência, especialmente para E/S aleatórias. No pior dos cenários, todos os dados que estão sendo acessados podem estar na camada legal, portanto, cada solicitação precisaria realizar uma recuperação dos dados. É incomum que todos os dados em um conjunto de dados usado ativamente estejam na camada legal, portanto, é improvável observar essa latência.
Quando a política de recuperação de acesso legal padrão é selecionada, as leituras de E/S sequenciais são servidas diretamente da camada fria e não são preenchidas novamente na camada ativa. Os dados lidos aleatoriamente são preenchidos novamente na camada ativa, aumentando o desempenho das leituras subsequentes. As otimizações para cargas de trabalho sequenciais geralmente reduzem a latência incorrida pela recuperação na nuvem em comparação com leituras aleatórias e melhoram o desempenho geral.
Em um teste recente realizado usando armazenamento padrão com acesso legal para arquivos NetApp do Azure, os seguintes resultados foram obtidos.
Nota
Todos os resultados publicados são apenas para fins de referência. Os resultados não são garantidos, pois o desempenho em cargas de trabalho de produção pode variar devido a inúmeros fatores.
Leituras 100% sequenciais no nível quente/frio (trabalho único)
No cenário a seguir, um único trabalho em uma máquina virtual (VM) D32_V5 foi usado em um volume de Arquivos NetApp do Azure de 50 TiB usando a camada de desempenho Ultra. Diferentes tamanhos de blocos foram usados para testar o desempenho em camadas quentes e frias.
Nota
O máximo para o nível de serviço Ultra é de 128 MiB/s por tebibyte de capacidade atribuída. Um volume regular do Azure NetApp Files pode gerenciar uma taxa de transferência de até aproximadamente 5.000 MiB/s.
O gráfico a seguir mostra o desempenho da camada legal para este teste usando uma variedade de profundidades de fila. A taxa de transferência máxima para uma única VM foi de aproximadamente 400 MiB/s.
O desempenho da camada quente foi cerca de 2,75x melhor, limitando-se a aproximadamente 1.180 MiB/s.
Este gráfico mostra uma comparação lado a lado do desempenho das camadas fria e quente com um tamanho de bloco de 256K.
O que causa a latência em camadas quentes e frias?
A latência no hot tier é um fator do próprio sistema de armazenamento, em que os recursos do sistema são esgotados quando mais I/O é enviada para o serviço do que pode ser manipulada a qualquer momento. Como resultado, as operações precisam ficar na fila até que as operações enviadas anteriormente possam ser concluídas.
A latência na camada fria geralmente é vista com as operações de recuperação na nuvem: solicitações de E/S pela rede para o armazenamento de objetos (cargas de trabalho sequenciais) ou reidratação de bloco frio na camada quente (cargas de trabalho aleatórias).
Resumo dos resultados
- Quando uma carga de trabalho é 100% sequencial, a taxa de transferência do nível frio diminui em aproximadamente 47% em relação ao nível quente (3330 MiB/s em comparação com 1742 MiB/s).
- Quando uma carga de trabalho é 100% aleatória, a taxa de transferência da camada fria diminui em aproximadamente 88% em relação à camada quente (2.479 MiB/s em comparação com 280 MiB/s).
- A queda de desempenho para cargas de trabalho 100% sequenciais (3.330 MiB/s) e 100% aleatórias (2.479 MiB/s) foi de aproximadamente 25%. A queda de desempenho para a camada legal ao fazer cargas de trabalho 100% sequenciais (1.742 MiB/s) e 100% aleatórias (280 MiB/s) foi de aproximadamente 88%.
- Quando uma carga de trabalho contém qualquer porcentagem de E/S aleatória, a taxa de transferência geral para a camada legal é mais próxima de 100% aleatória do que 100% sequencial.
- As leituras do nível cool caíram cerca de 50% ao passar de uma mistura sequencial/aleatória de 100% para uma mistura sequencial/aleatória 80/20.
- A E/S sequencial pode tirar proveito de um
readahead
cache nos Arquivos NetApp do Azure que a E/S aleatória não tem. Esse benefício da E/S sequencial ajuda a reduzir as diferenças gerais de desempenho entre os níveis quente e frio.
Considerações e recomendações
- Se sua carga de trabalho frequentemente altera os padrões de acesso de maneira imprevisível, o acesso legal pode não ser ideal devido às diferenças de desempenho entre as camadas quente e fria.
- Se sua carga de trabalho contiver qualquer porcentagem de E/S aleatória, as expectativas de desempenho ao acessar dados na camada legal devem ser ajustadas de acordo.
- Configure a janela de frieza e as configurações de recuperação de acesso legal para corresponder aos seus padrões de carga de trabalho e minimizar a quantidade de recuperação de camada fria.
- O desempenho do acesso legal pode variar dependendo do conjunto de dados e da carga do sistema em que o aplicativo está sendo executado. Recomenda-se realizar testes relevantes com seu conjunto de dados para entender e levar em conta a variabilidade de desempenho do acesso legal.