Habilitar o Query Store pode trazer benefícios de desempenho, principalmente a partir do SQL Server 2022, mas e quanto aos custos? A documentação insiste que os custos são pequenos, mas quero provas no meu próprio sistema. Posso consultar os DMVs para descobrir quanto espaço em disco está usando por banco de dados, mas isso não é suficiente. Como posso medir os custos de desempenho da ativação (e utilização) do Query Store? Além disso, de quais outros custos devo estar ciente?
Este artigo é uma boa tentativa, mas foi publicado enquanto o Query Store ainda estava em desenvolvimento. Portanto, está presumivelmente desatualizado. Na verdade, estes dois artigos de Erin Stellato sugerem que melhorias significativas de desempenho foram feitas ao longo do tempo. No entanto, ainda dizem muito pouco sobre quais são realmente os custos.
Armazenamento de consultas
Em seguida, habilite-o em seu próprio sistema. Essa é realmente a única maneira de saber como isso afetará isso. Se isso não puder ser feito diretamente no sistema ativo, então uma cópia replicada com cargas de trabalho de teste semelhantes aplicadas a ela, em um servidor igualmente provisionado e configurado, seria a próxima melhor maneira de testar.
Se for muito intenso, você poderá desativá-lo facilmente. Embora tenha sido melhorado de forma mensurável desde que foi lançado originalmente. Também é recomendação geral ativá-lo em novos bancos de dados.
Monitorando o SQL Server
Há uma série de ferramentas gratuitas com as quais você deve se familiarizar para monitorar sua instância do SQL Server em geral. Usando essas ferramentas, você poderá acompanhar de perto o desempenho do seu servidor antes e depois de ativar o Query Store:
sp_WhoIsActive
- Uma ferramenta padrão para ver o que está rodando no seu servidor no momento, há quanto tempo está rodando, se há algum bloqueio, o que está esperando e seu plano de execução, além de um monte de outras informações úteis.Kit de primeiros socorros - Esta é uma série de ferramentas para ajudar a trazer à luz seus maiores problemas. Com alguns deles, você pode ver o que está atualmente em execução no seu servidor, há quanto tempo está em execução, o que está atrasando e obter os planos de execução ao vivo para eles.
sp_PressureDetector - Esta é uma ótima ferramenta para ver holisticamente como seu servidor está operando do ponto de vista da CPU e da memória. Ele fornecerá informações detalhadas sobre quais são seus maiores gargalos em relação à memória e à pressão da CPU.
Você pode executá-los ad hoc conforme necessário ou configurar um processo de rotina, como um trabalho SQL, que os executa e armazena os resultados em algumas tabelas de monitoramento. Caso contrário, pode valer a pena considerar a compra de uma ferramenta de monitoramento completa, que coletará dados semelhantes continuamente para você.
A
sys.dm_os_memory_clerks
visualização contémtype
s para Query Store.Eles mostram a quantidade de RAM que o Query Store está ocupando (mostrada em KB na
pages_kb
coluna). Se esses são alguns dos seus principais consumidores de memória, você está com problemas.