如何衡量“每秒查询次数”?

时间:2011-01-19 15:24:53

标签: mysql query-optimization

在文献中,SQL查询效率通常以“查询前置”(QPS)来衡量。考虑到我手边有生产数据的数据库,这些措施是如何制定的?是否有可以使用的MySQL工具?

4 个答案:

答案 0 :(得分:55)

 # 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

答案 1 :(得分:18)

最简单的方法是创建一个运行的作业:

SHOW STATUS

按指定的时间间隔。这将返回“查询”值。获取连续调用SHOW STATUS之间的差异,然后除以测量之间的秒数,以获得每秒查询。

答案 2 :(得分:8)

如果您使用的是Linux,则可以使用名为MyTop的工具进行实时分析。

答案 3 :(得分:2)

使用 #service mysql status 返回这些信息(基于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.