Как измерить «количество запросов в секунду»? - PullRequest
32 голосов
/ 19 января 2011

В литературе эффективность SQL-запросов часто измеряется в «запросах за секунду» (QPS).Как эти меры принимаются, учитывая, что у меня есть база данных с производственными данными?Есть ли инструмент MySQL, который может это сделать?

Ответы [ 4 ]

56 голосов
/ 20 января 2011
 # 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
18 голосов
/ 19 января 2011

Самый простой способ сделать это - создать задание, которое будет запускаться:

SHOW STATUS

через указанные интервалы.Это вернет значение «запросы».Возьмите разницу между последовательными вызовами в SHOW STATUS и затем разделите на количество секунд между измерениями, чтобы получить количество запросов в секунду.

8 голосов
/ 19 января 2011

Если вы используете Linux, вы можете использовать инструмент MyTop для аналитики в реальном времени.

2 голосов
/ 19 ноября 2015

Игра с # сервисным статусом mysql возвращает эту информацию (на основе двоичного файла 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.
...