Dicas

Como diminuir o RESOURCE_SEMAPHORE_QUERY_COMPILE

Saiba agora mesmo como você pode diminuir o RESOURCE_SEMAPHORE_QUERY_COMPILE no SQL Server.

Recentemente eu trabalhei em um projeto de tunning e performance SQL Server, o ambiente estava bem lento mesmo. Ao analisar os principais waits que estavam ocorrendo no banco de dados SQL Server do cliente, pude identificar que um dos principais waits eram RESOURCE_SEMAPHORE_QUERY_COMPILE.

A princípio achei interessante, pois já tinha trabalhado com RESOURCE_SEMAPHORE. Então vou deixar aqui para vocês algumas dicas de como eu fiz para diminuir o RESOURCE_SEMAPHORE_QUERY_COMPILE

Entendendo o RESOURCE_SEMAPHORE_QUERY_COMPILE

Para entender melhor do que se trata o RESOURCE_SEMAPHORE_QUERY_COMPILE ocorre quando uma consulta está esperando por liberação da memória que vai permitir que a compilação ocorra.

A memória de compilação é retirada do buffer pool e mantida pelo tempo necessário para concluir o processo de compilação. O que em muitos casos acontecem é que o uso de muitas páginas em memória para várias compilações simultâneas cause uma pressão na memória. Para mitigar isso o SQL calcula quais consultas exigirão um grande número de páginas e para isso força algumas esperas.

Se já estiver com pressão de memória o SQL Server limitará o número de consultas intensivas de recursos que podem ser compiladas simultaneamente. Em resumo, significa que você pode ter muitas consultas que exigem muita memória. Ou outro recurso está pegando as páginas de memória do buffer pool.

Como posso investigar RESOURCE_SEMAPHORE_QUERY_COMPILE?

No meu caso eu abri o perfmon e verifiquei os seguintes contadores:

  • Compilations/sec
  • Compilations/batch
  • Recompilations/sec
  • Batch requests/sec

Em breve farei artigos sobre esses contadores com mais detalhes para vocês, se você ver que esse post já é antigo, pode procurar no campo de busca o nome desses contadores que certamente aparecerá esses detalhes que disse agora mesmo.

Recomendo também investigar as consultas que demoram mais tempo no SQL Server, para encontrar isso você pode investigar nas DMV’s sys.dm_exec_query_memory_grants, sys.dm_exec_query_resource_semaphores.

Caso você não tenha conseguido, entre em contato comigo para eu te mostrar como podemos resolver isso.

Consultoria SQL Server Remoto

Um grande abraço!

Como diminuir o RESOURCE_SEMAPHORE_QUERY_COMPILE
The following two tabs change content below.

Wesley Mota

Wesley Mota

Share
Published by
Wesley Mota

Recent Posts

Utforska Topplista: Casinon utan licens med flest Megaways-slots

Utforska Topplista: Casinon utan licens med flest Megaways-slotsDet är ingen hemlighet att Megaways-slots har blivit…

4 dias ago

Comment obtenir de laide sous Windows 10 ?

ContentCultivo del pimiento¿Cómo beneficia la salud el pimentón ahumado?Enfermedades causadas por bacterias y virusPimentón de…

6 dias ago

NUEVOS JUEGOS ¡Juega Gratis Online!

Content¿Cuáles son los mejores Nuevos Juegos gratuitos online?Qué es Poki? Ofrecemos acceso instantáneo a todos…

2 semanas ago

Il Camilleri-linguaggio

ContentErzählen Sie Ihre Geschichte: von Kampanien bis ins Herz Brasiliens, die Geschichte der Familie LandriEl…

2 semanas ago

Apartamento com 1 quarto na Avenida Beira Mar, 001, Boa Viagem, Recife PE ID: 26822915

ContentPrefeitura anuncia novo polo no Parque Eduardo Campos, no Pina, e espalha shows pela cidadeMarilia…

2 semanas ago

Tübingen entdecken Universitätsstadt Tübingen

ContentStadtrundgänge Die Universitätsstadt Tübingen sucht seeger tübingen juwelier regelmäßig Verwaltungskräfte in verschiedenen Organisationseinheiten. Die Universitätsstadt…

2 semanas ago