在文献中,SQL查询效率通常在“查询预先计划”(QPS)中进行测量。考虑到我有一个包含生产数据的数据库,我如何采取这些措施?有没有一个MySQL工具可以做到这一点?如何衡量“每秒查询次数”?
27
A
回答
18
要做到这一点,最简单的方法是创建一个运行的工作:
SHOW STATUS
在指定的时间间隔。这将返回“查询”值。取出连续调用SHOW STATUS之间的差异,然后除以测量之间的秒数以获得每秒的查询次数。
6
如果您在Linux上,可以使用名为MyTop的工具进行实时分析。
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
2
与#服务mysql的状态播放返回这些信息(基于中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
不是在每个发行版中,也不是在使用systemd时。你看到的实际上是`mysqladmin status`的输出。 – istepaniuk 2018-01-16 10:36:03
是不是 “问题” 或 “查询”,分母? – SOFe 2016-06-20 13:32:28