【问题标题】:Check load on mysql database检查mysql数据库的负载
【发布时间】:2011-01-08 21:16:50
【问题描述】:

监控 mysql 性能和负载、每秒查询数、一小时内总查询数等的最佳方法是什么?

【问题讨论】:

    标签: mysql performance load stress-testing


    【解决方案1】:

    首先,一定要注意慢查询:http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html

    mysqladmin extended 非常有用。请参阅http://www.mysql.com/news-and-events/newsletter/2004-01/a0000000301.html 了解一些提示。

    【讨论】:

    • 嗨,伊莱,谢谢。无法访问慢查询日志 ftm,但我会调查一下。但是看不到我如何输出 mysqladmin 扩展。我可以用普通的 PHP 查询吗?
    • mysqladmin 是您服务器上的应用程序。您可能可以通过普通查询来完成,但我对此知之甚少。在 PHP 中,您可以运行 exec('mysqladmin extended') 让您的系统将其作为 shell 命令执行。
    【解决方案2】:

    您可以使用 MySQL 5.1 之后提供的mysqlslap 实用程序。

    在您的 Windows 命令提示符下触发以下查询,以根据您的要求获取 csv 格式或文本格式的报告。

    mysqlslap.exe --user=root -p --auto-generate-sql --concurrency=40 --number-of-queries=10000 --number-char-cols=4 --number-int-cols=7 >> /Desktop/output.log -vv
    
    mysqlslap.exe --csv=/Desktop/output.csv --user=root -p --auto-generate-sql --concurrency=50 --number-of-queries=500 --number-char-cols=4 --number-int-cols=7 -vv
    

    此命令也可以在 Unix 服务器上运行。

    这个命令的输出有点像下面。

    Building Create Statements for Auto
    Building Query Statements for Auto
    Parsing engines to use.
    Starting Concurrency Test
    Loading Pre-data
    Generating primary key list
    Generating stats
    Benchmark
    
    Average number of seconds to run all queries: 124.478 seconds 
    
    Minimum number of seconds to run all queries: 124.478 seconds
    
    Maximum number of seconds to run all queries: 124.478 seconds
    
    Number of clients running queries: 40
    
    Average number of queries per client: 250
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-04
      • 1970-01-01
      • 1970-01-01
      • 2012-11-19
      相关资源
      最近更新 更多