Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Solucionar problemas de falta de threads de trabalho


À medida que sua instância experimenta um tráfego mais alto junto com o uso simultâneo, ela pode ficar sem threads de trabalho necessários para processar solicitações de sessão. Isso significa que as sessões estarão aguardando a atribuição de threads de trabalho para processar as solicitações. Isso provavelmente levaria a tempos de processamento mais lentos e resultaria no encontro de tipos de espera, como SOS_SCHEDULER_YIELD, THREADPOOL e CXPACKET.

Normalmente, o problema é causado por um dos seguintes:
  • Muitas conexões ativas
  • Muitas consultas de longa duração
  • Consultas usando paralelismo
  • CPU do servidor não é poderosa o suficiente para a carga de trabalho

Os remédios mais comuns são:
  • Reduzir o número de conexões
  • Identifique e ajuste consultas de longa duração
  • Identifique e ajuste consultas com alto grau de paralelismo
  • Identifique e ajuste as consultas com o tipo de espera da CPU
  • Identifique e ajuste consultas com o tipo de espera CXPACKET
O alarme SQL - Falta de threads do Spotlight Cloud notifica o usuário quando a instância está esgotando os threads de trabalho para processar solicitações de sessão.



Use os painéis de diagnóstico do Spotlight Cloud para solucionar o problema:

  1. Reduza o número de conexões. Visite o painel de Sessões para identificar a quantidade de atividade:

  2. Identifique e ajuste consultas de longa duração:

    uma. Use o painel do Workload Analyzer para ver o SQL principal por Active Time. Clique na dimensão SQL Statements e classifique as consultas por métrica Active Time:


    b. Use o painel do Workload Analyzer para ver o SQL principal por grau de paralelismo. Ajuste as consultas ou use dicas de consulta nas instruções de consulta para reduzir o uso do grau de paralelismo.

    I. Realce a dimensão Instrução SQL na árvore e clique no ícone de hambúrguer para abrir o seletor de métricas:


    II. Localize o campo Grau de Paralelismo e habilite-o. Use o mouse para arrastar o campo para o topo da lista de campos


    III. Classifique pela coluna Grau de Paralelismo para identificar consultas com threads mais altos:


    c. Use o Workload Analyzer para filtrar o SQL principal por tipo de espera de CPU. Clique no ícone do tipo de espera da CPU no banner e expanda a dimensão Instruções SQL. Ajuste as consultas de acordo:


    d. Use o painel do Workload Analyzer para filtrar o SQL principal por outro tipo de espera. Clique no ícone Outro tipo de espera no banner. Expanda a dimensão Instruções SQL. Use o painel Detalhamento de Recursos para identificar consultas com o tipo de espera CXPACKET. Ajuste as consultas de acordo:
Experimente o Spotlight Cloud gratuitamente!