Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:Azure SQL Managed Instance
Crie uma linha de base de desempenho para comparar o desempenho de sua carga de trabalho em uma Instância Gerenciada SQL com sua carga de trabalho original em execução no SQL Server.
Criar uma linha de base
Idealmente, o desempenho é semelhante ou melhor após a migração, por isso é importante medir e registrar os valores de desempenho da linha de base na origem e, em seguida, compará-los com o ambiente de destino. Uma linha de base de desempenho é um conjunto de parâmetros que definem sua carga de trabalho média na origem.
Selecione um conjunto de consultas importantes e representativas da carga de trabalho da sua empresa. Meça e documente a duração mínima/média/máxima e o uso da CPU para essas consultas, bem como métricas de desempenho no servidor de origem, como uso médio/máximo da CPU, latência média / máxima de E/S do disco, taxa de transferência, IOPS, expectativa de vida média / máxima da página e tamanho máximo médio do tempdb.
Os seguintes recursos podem ajudar a definir uma linha de base de desempenho:
- Monitorar o uso da CPU
- Monitore o uso de memória e determine a quantidade de memória usada por diferentes componentes, como pool de buffers, cache de planos, pool de armazenamento de colunas, In-Memory OLTP, etc. Além disso, você deve encontrar valores médios e máximos do contador de desempenho de memória Page Life Expectancy.
- Monitore o uso de IO de disco na instância do SQL Server de origem utilizando a vista sys.dm_io_virtual_file_stats ou os contadores de desempenho.
- Monitore a carga de trabalho e o desempenho da consulta examinando as Exibições de Gerenciamento Dinâmico (ou o Repositório de Consultas, se você estiver migrando do SQL Server 2016 e posterior). Identifique a duração média e o uso da CPU das consultas mais importantes em sua carga de trabalho.
Quaisquer problemas de desempenho no SQL Server de origem devem ser resolvidos antes da migração. A migração de problemas conhecidos para qualquer novo sistema pode causar resultados inesperados e invalidar qualquer comparação de desempenho.
Compare o desempenho
Depois de definir uma linha de base, compare o desempenho semelhante da carga de trabalho na Instância Gerenciada SQL de destino. Para obter precisão, é importante que o ambiente da Instância Gerenciada SQL seja comparável ao ambiente do SQL Server, tanto quanto possível.
Há diferenças na infraestrutura da Instância Gerenciada SQL que tornam o desempenho correspondente exatamente improvável. Algumas consultas podem ser executadas mais rápido do que o esperado, enquanto outras podem ser mais lentas. O objetivo dessa comparação é verificar se o desempenho da carga de trabalho na instância gerenciada corresponde ao desempenho no SQL Server (em média) e identificar quaisquer consultas críticas com desempenho que não corresponda ao seu desempenho original.
É provável que a comparação do desempenho resulte nos seguintes resultados:
O desempenho da carga de trabalho na instância gerenciada está alinhado ou é melhor do que o desempenho da carga de trabalho no SQL Server de origem. Nesse caso, você confirma com êxito que a migração foi bem-sucedida.
A maioria dos parâmetros de desempenho e consultas na carga de trabalho são executados conforme o esperado, com algumas exceções resultando em desempenho degradado. Neste caso, identifique as diferenças e a sua importância. Se houver algumas consultas importantes com desempenho degradado, investigue se os planos SQL subjacentes foram alterados ou se as consultas estão atingindo os limites de recursos. Você pode mitigar isso aplicando algumas sugestões em consultas críticas (por exemplo, alterando o nível de compatibilidade ou o estimador de cardinalidade herdado), diretamente ou usando guias de plano. Garantir que as estatísticas e os índices estejam atualizados e equivalentes em ambos os ambientes.
A maioria das consultas é mais lenta em uma instância gerenciada em comparação com sua instância do SQL Server de origem. Nesse caso, tente identificar as causas raiz da diferença, como atingir algum limite de recursos , como limites de E/S, memória ou taxa de log de instância. Se não houver limites de recursos causando a diferença, tente alterar o nível de compatibilidade do banco de dados ou alterar as configurações do banco de dados, como estimativa de cardinalidade herdada, e execute novamente o teste. Analise as recomendações fornecidas pela instância gerenciada ou pelas exibições do Repositório de Consultas para identificar as consultas com desempenho regredido.
A Instância Gerenciada SQL tem um recurso interno de correção automática de plano habilitado por padrão. Esse recurso garante que as consultas que funcionaram bem no passado não se degradem no futuro. Se esse recurso não estiver habilitado, execute a carga de trabalho com as configurações antigas para que a Instância Gerenciada do SQL possa aprender a linha de base de desempenho. Em seguida, habilite o recurso e execute a carga de trabalho novamente com as novas configurações.
Faça alterações nos parâmetros do seu teste ou atualize para níveis de serviço mais altos para alcançar a configuração ideal para o desempenho da carga de trabalho que atenda às suas necessidades.
Monitore o desempenho
A Instância Gerenciada SQL fornece ferramentas avançadas para monitoramento e solução de problemas, e você deve usá-las para monitorar o desempenho em sua instância. Algumas das principais métricas a serem monitoradas são:
- O uso da CPU na instância para determinar se o número de vCores provisionados é o ajuste adequado para a sua carga de trabalho.
- Expectativa de vida útil da página em sua instância gerenciada para determinar se você precisa de mais memória.
- Estatísticas como
INSTANCE_LOG_GOVERNORouPAGEIOLATCHque identificam problemas de E/S de armazenamento, especialmente na camada de uso geral, onde talvez seja necessário pré-alocar arquivos para obter um melhor desempenho de E/S.
Considerações
Ao comparar o desempenho, considere os seguintes requisitos:
As configurações correspondem entre origem e destino. Valide se várias instâncias, bancos de dados e
tempdbconfigurações são equivalentes entre os dois ambientes. Diferenças na configuração, níveis de compatibilidade, configurações de criptografia, sinalizadores de rastreamento, etc., podem distorcer o desempenho.O armazenamento é configurado de acordo com as práticas recomendadas. Por exemplo, para Utilização Geral, talvez seja necessário pré-definir o tamanho dos arquivos para melhorar o desempenho.
Há diferenças de ambiente importantes que podem causar as diferenças de desempenho entre uma instância gerenciada e o SQL Server. Identifique os riscos relevantes para o seu ambiente que possam contribuir para um problema de desempenho.
O armazenamento de consultas e o ajuste automático devem ser habilitados em sua Instância Gerenciada SQL, pois ajudam a medir o desempenho da carga de trabalho e mitigam automaticamente possíveis problemas de desempenho.
Conteúdo relacionado
- Como identificar por que o desempenho da carga de trabalho na Instância Gerenciada SQL do Azure é diferente do SQL Server?
- Principais causas das diferenças de desempenho entre a Instância Gerenciada SQL e o SQL Server
- Práticas recomendadas e considerações de desempenho de armazenamento para a Instância Gerenciada SQL do Azure (Finalidade Geral)
- Monitorização de desempenho em tempo real para a Instância Gerida do Azure SQL (isso está arquivado, é este o destino pretendido?)