mysql - tips - ¿Cómo medir “consultas por segundo”?
optimize sql query online (4)
Jugar con #service mysql status devuelve esas informaciones (basadas en el binario mysqladmin):
root@SERVER:~# service mysql status
[info] /usr/bin/mysqladmin Ver 8.42 Distrib 5.5.44, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.5.44-0+deb7u1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 1 day 6 hours 36 min 1 sec
Threads: 2 Questions: 332928 Slow queries: 0 Opens: 104 Flush tables: 1 Open tables: 59 Queries per second avg: 3.022.
En la literatura, la eficiencia de las consultas SQL a menudo se mide en "consultas antes de la segunda" (QPS). ¿Cómo se realizan esas medidas, teniendo en cuenta que tengo una base de datos con datos de producción en mis manos? ¿Hay alguna herramienta MySQL que pueda hacer esto?
La forma más sencilla de hacerlo es crear un trabajo que se ejecute:
SHOW STATUS
a intervalos especificados. Esto devolverá el valor de "consultas". Tome la diferencia entre las llamadas sucesivas a SHOW STATUS y luego divida por el número de segundos entre las mediciones para obtener las consultas por segundo.
Si está en Linux, puede usar una herramienta llamada MyTop para análisis en tiempo real.
# mysqladmin status
Uptime: 587 Threads: 121 Questions: 3456 Slow queries: 0 Opens: 152 Flush tables: 1 Open tables: 64 Queries per second avg: 5.888