В литературе эффективность запросов SQL часто измеряется в "запросах предварительной секунды" (QPS). Как эти меры принимаются, учитывая, что у меня есть база данных с данными о производстве у меня в руках? Есть ли способ MySQL для этого?
Как измерять "запросы в секунду"?
Ответ 1
# 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
Ответ 2
Самый простой способ сделать это - создать задание, которое выполняется:
SHOW STATUS
через определенные промежутки времени. Это вернет значение "запросов". Возьмите разницу между последовательными вызовами в SHOW STATUS, а затем разделите их на количество секунд между измерениями, чтобы получить запросы в секунду.
Ответ 3
Если вы используете Linux, вы можете использовать инструмент MyTop для аналитики в реальном времени.
Ответ 4
Воспроизведение С#service mysql status возвращает эти данные (на основе двоичного кода 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.