2011-01-19 6 views
27

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

Répondre

18

La meilleure façon de le faire est de créer un emploi qui fonctionne:

SHOW STATUS 

à intervalles réguliers. Cela renverra la valeur "requêtes". Prenez 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.

6

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

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

Est-il "Questions" ou "requêtes", le dénominateur? – SOFe

2

Jouer avec #service état mysql renvoie ces informations (sur la base binaire 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

Pas dans toutes les distributions, ni lors de l'utilisation de systemd. Ce que vous voyez est en fait la sortie de 'mysqladmin status'. – istepaniuk

Questions connexes