【问题标题】:How to measure "queries per second"?如何衡量“每秒查询数”?
【发布时间】:2011-06-11 20:15:48
【问题描述】:

在文献中,SQL 查询效率通常以“查询前秒”(QPS)来衡量。考虑到我手头有一个包含生产数据的数据库,这些措施是如何制定的?有没有 MySQL 工具可以做到这一点?

【问题讨论】:

    标签: mysql query-optimization


    【解决方案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 二进制文件):

        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.
        

        【讨论】:

        • 不是在每个发行版中,也不是在使用 systemd 时。你看到的其实是mysqladmin status的输出。
        • 可能调用两个参数....实际上是“版本状态”。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-06-05
        • 1970-01-01
        • 1970-01-01
        • 2018-02-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多