sql >> Base de Datos >  >> RDS >> Sqlserver

Solucionar problemas de ejecución de subprocesos de trabajo

A medida que su instancia experimente un mayor tráfico junto con el uso simultáneo, es posible que se quede sin subprocesos de trabajo necesarios para procesar las solicitudes de sesión. Esto significa que las sesiones estarán esperando que se asignen subprocesos de trabajo para procesar las solicitudes. Lo más probable es que provoque tiempos de procesamiento más lentos y genere tipos de espera como SOS_SCHEDULER_YIELD, THREADPOOL y CXPACKET.

Normalmente, el problema se debe a uno de los siguientes:

  • Muchas conexiones activas
  • Muchas consultas de ejecución prolongada
  • Consultas usando paralelismo
  • La CPU del servidor no es lo suficientemente potente para la carga de trabajo

Los remedios más comunes son:

  • Reducir el número de conexiones
  • Identificar y ajustar consultas de ejecución prolongada
  • Identifique y ajuste las consultas con el uso de un alto grado de paralelismo
  • Identificar y ajustar consultas con tipo de espera de CPU
  • Identifique y ajuste las consultas con el tipo de espera CXPACKET
La alarma SQL:ejecución de subprocesos de Spotlight Cloud notifica al usuario cuando la instancia se está quedando sin subprocesos de trabajo para procesar las solicitudes de sesión.


Utilice los paneles de diagnóstico de Spotlight Cloud para solucionar el problema:

  1. Reduzca el número de conexiones. Visite el panel de Sesiones para identificar la cantidad de actividad:

  2. Identifique y ajuste consultas de ejecución prolongada:

    una. Utilice el panel de control de Workload Analyzer para ver el SQL principal por tiempo activo. Haga clic en la dimensión Sentencias SQL y ordene las consultas por métrica de tiempo activo:


    b. Utilice el panel de Workload Analyzer para ver el SQL principal por grado de paralelismo. Ajuste las consultas o use sugerencias de consulta dentro de las declaraciones de consulta para reducir el uso del grado de paralelismo.

    I. Resalte la dimensión Sentencia SQL del árbol y haga clic en el icono de hamburguesa para abrir el selector de métricas:


    II. Localice el campo Grado de paralelismo y actívelo. Use el mouse para arrastrar el campo hacia la parte superior de la lista de campos


    tercero Ordene por columna Grado de paralelismo para identificar consultas con subprocesos más altos:


    C. Utilice el Analizador de carga de trabajo para filtrar SQL superior por tipo de espera de CPU. Haga clic en el ícono de tipo de espera de CPU en el banner y expanda la dimensión de Sentencias SQL. Ajuste las consultas en consecuencia:


    d. Utilice el panel de control de Workload Analyzer para filtrar el SQL principal por Otro tipo de espera. Haga clic en el ícono Otro tipo de espera en el banner. Expanda la dimensión Sentencias SQL. Utilice el panel Desglose de recursos para identificar las consultas con el tipo de espera CXPACKET. Ajuste las consultas en consecuencia:
¡Prueba Spotlight Cloud gratis!