sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo puedo registrar la lista de procesos cuando hay más de n consultas?

pt-stalk está diseñado para este propósito exacto. Muestra la lista de procesos cada segundo (o en cualquier momento que especifique), luego, cuando se alcanza un umbral (Threads_running es el valor predeterminado y es lo que desea en este caso), recopila una gran cantidad de datos, incluida la actividad del disco, tcpdumps, múltiples muestras de la lista de procesos, variables de estado del servidor, estado mutex/innodb y mucho más.

Así es como se inicia:

pt-stalk --daemonize --dest /var/lib/pt-stalk --collect-tcpdump --threshold 50 --cycles 1 --disk-pct-free 20 --retention-time 3 -- --defaults-file=/etc/percona-toolkit/pt-stalk_my.cnf

El comando anterior muestra Threads_running (--threshold; establezca esto a su valor para n ), cada segundo (predeterminado de --interval ) y activa una recopilación de datos si Threads_running es mayor que 50 para 1 muestra consecutiva (--cycles ). 3 días (--retention-time ) de muestras se mantendrá y la recopilación no se activará si menos del 20 % de su disco está libre (--disk-pct-free ). En cada colección, se ejecutará un tcpdump en formato pcap (--collect-tcpdump ) que se puede analizar con las herramientas tcpdump convencionales o con otras herramientas de Percona Toolkit, incluidas pt-query-digest y pt-tcp-model . Habrá un descanso de 5 minutos entre muestras (predeterminado en --sleep) ) con el fin de evitar DoS'ing usted mismo. El proceso será demonizado (--daemonize ). Los parámetros después de -- se pasará a todos los comandos mysql/mysqladmin, por lo que es un buen lugar para establecer cosas como --defaults-file donde puede almacenar sus credenciales de inicio de sesión lejos de miradas indiscretas.