User Tools

Site Tools


identificar_consultas_mysql_que_consumen_muchos_recursos

This is an old revision of the document!


Identificar consultas MySQL que consuman mucho recursos (CPU/Memoria/IOWaits)

Para identificar qué consulta MySQL está consumiento determinados recursos simplemente es necesario obtener el ID del hilo y buscar en MySQL información sobre dicho hilo.

Obtener información sobre hilos en base al consumo de recursos.

# CPU/Memoria/Tiempo de ejecución/Uso de Swap
top -H -p <PID MySQL>
# IOWaits
iotop --only

Una vez se obtiene el/los IDs del/os hilos, se consulta la tabla performance_schema.threads par aobtener información.

mysql > select * from performance_schema.threads where THREAD_OS_ID = <THID> \G
# Multiple threads IDs.
mysql > select * from performance_schema.threads where THREAD_OS_ID IN (<THID 1>,<THID 2>,...)\G

Ejemplo de información obtenida

          THREAD_ID: 64
               NAME: thread/sql/one_connection
               TYPE: FOREGROUND
     PROCESSLIST_ID: 44
   PROCESSLIST_USER: wwwadmin
   PROCESSLIST_HOST: 192.168.1.44
     PROCESSLIST_DB: NULL
PROCESSLIST_COMMAND: Query
   PROCESSLIST_TIME: 0
  PROCESSLIST_STATE: Sending data
   PROCESSLIST_INFO: SELECT * FROM XXXX ...
   PARENT_THREAD_ID: NULL
               ROLE: NULL
       INSTRUMENTED: YES
identificar_consultas_mysql_que_consumen_muchos_recursos.1671131874.txt.gz · Last modified: 2022/12/15 20:17 by busindre