web-dev-qa-db-fra.com

Comment mesurer les "requêtes par seconde"?

Dans la littérature, l'efficacité des requêtes SQL est souvent mesurée en "requêtes avant seconde" (QPS). Comment ces mesures sont-elles prises, étant donné que j'ai une base de données avec les données de production à portée de main? Existe-t-il un outil MySQL qui peut le faire?

33
Silver Light
 # 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
57
shantanuo

La façon la plus simple de procéder consiste à créer un travail qui s'exécute:

SHOW STATUS

à des intervalles spécifiés. Cela renverra la valeur "requêtes". Faites la différence entre les appels successifs à SHOW STATUS, puis divisez par le nombre de secondes entre les mesures pour obtenir les requêtes par seconde.

18
Kibbee

Si vous êtes sous Linux, vous pouvez utiliser un outil appelé MyTop pour des analyses en temps réel.

8
Geoffrey Wagner

Jouer avec # service mysql status retourne ces informations (basées sur le binaire 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.
2
sdesvergez