User Tools

Site Tools


identificar_consultas_mysql_que_consumen_muchos_recursos

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
identificar_consultas_mysql_que_consumen_muchos_recursos [2022/12/15 20:17] – created busindreidentificar_consultas_mysql_que_consumen_muchos_recursos [2022/12/15 20:25] (current) busindre
Line 1: Line 1:
-===== Identificar consultas MySQL que consuman mucho recursos (CPU/Memoria/IOWaits) =====+===== Identificar consultas MySQL que consuman mucho recursos (CPU/Memoria/Load/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.+Para identificar qué consulta MySQL está consumiendo determinados recursos, ya sea memoria, CPU o IOWaits simplemente es necesario obtener el ID del hilo y buscar en MySQL información sobre él.
  
 Obtener información sobre hilos en base al consumo de recursos. Obtener información sobre hilos en base al consumo de recursos.
 <code bash># CPU/Memoria/Tiempo de ejecución/Uso de Swap <code bash># CPU/Memoria/Tiempo de ejecución/Uso de Swap
 top -H -p <PID MySQL> top -H -p <PID MySQL>
 +
 # IOWaits # IOWaits
-iotop --only</code>+iotop --only 
 + 
 +# Lógicamente se pueden usar otros comandos como ps, pidstat, iostat, etc. Lo importante es localizar el ID del hilo que se consume los recursos. 
 +</code>
  
-Una vez se obtiene el/los IDs del/os hilos, se consulta la tabla performance_schema.threads par aobtener información.+Una vez se obtiene el/los IDs del/os hilos, se consulta la tabla "threads" de la base de datos "performance_schema"De esta forma se obtiene información sobre la consulta que está generando ese consumo de recursos.
 <code mysql>mysql > select * from performance_schema.threads where THREAD_OS_ID = <THID> \G <code mysql>mysql > select * from performance_schema.threads where THREAD_OS_ID = <THID> \G
 # Multiple threads IDs. # Multiple threads IDs.
 mysql > select * from performance_schema.threads where THREAD_OS_ID IN (<THID 1>,<THID 2>,...)\G</code> mysql > select * from performance_schema.threads where THREAD_OS_ID IN (<THID 1>,<THID 2>,...)\G</code>
  
-Ejemplo de información obtenida+Ejemplo de información obtenida en la tabla .
 <code> <code>
-          THREAD_ID: 64+          THREAD_ID: 164
                NAME: thread/sql/one_connection                NAME: thread/sql/one_connection
                TYPE: FOREGROUND                TYPE: FOREGROUND
identificar_consultas_mysql_que_consumen_muchos_recursos.1671131874.txt.gz · Last modified: 2022/12/15 20:17 by busindre