2011-01-19 29 views
27

En la literatura, la eficiencia de la consulta SQL a menudo se mide en "consultas previas al segundo" (QPS). ¿Cómo se hacen 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?¿Cómo se miden las "consultas por segundo"?

Respuesta

18

La forma más sencilla de hacerlo es crear un trabajo que se ejecuta:

SHOW STATUS 

a intervalos especificados. Esto devolverá el valor de "consultas". Tome la diferencia entre las llamadas sucesivas para SHOW STATUS y luego divida por el número de segundos entre las mediciones para obtener las consultas por segundo.

6

Si está en Linux, puede usar una herramienta llamada MyTop para analizar en tiempo real.

51
# 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 
+0

¿Es "Preguntas" o "Consultas", el denominador? – SOFe

2

Jugando con estado de MySQL #service declaraciones de esas informaciones (basados ​​en binario mysqladmin):

[email protected]:~# 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. 
+0

No en cada distribución, y no cuando se usa systemd. Lo que ves es en realidad el resultado del 'estado mysqladmin'. – istepaniuk

Cuestiones relacionadas