【问题标题】:How do I benchmark MySQL?如何对 MySQL 进行基准测试?
【发布时间】:2026-02-02 12:30:01
【问题描述】:

我目前正在使用 MySQL 工作台。我想看到随着表中行数的增加而产生的性能差异。我想专门测试和比较1000行、10000行、100000行、1000000行和10000000行。

那么,是否有任何工具可以让我执行此操作并提供有关磁盘 I/O、内存使用、CPU 使用和完成查询的时间的统计信息?

【问题讨论】:

标签: mysql benchmarking mysql-workbench


【解决方案1】:

是的。我猜对其中一些人来说,基准是您的最佳选择

您可以进行简单的查询,例如:

jcho360> select benchmark (10000000,1+1);
+--------------------------+
| benchmark (10000000,1+1) |
+--------------------------+
|                        0 |
+--------------------------+
1 row in set (0.18 sec)

jcho360> select benchmark (10000000,1/1);
+--------------------------+
| benchmark (10000000,1/1) |
+--------------------------+
|                        0 |
+--------------------------+
1 row in set (1.30 sec)

和比除法快(你可以用你能想象到的所有东西来做到这一点。

我建议你看看这个程序,它可以帮助你提高这部分性能。

  • Mysqlslap(类似于基准测试,但您可以自定义更多结果)。
  • SysBench(测试 CPU 性能、I/O 性能、互斥争用、内存速度、数据库性能)。
  • Mysqltuner(您可以使用它分析一般统计信息、存储引擎统计信息、性能指标)。
  • mk-query-profiler(执行 SQL 语句分析)。
  • mysqldumpslow(很高兴知道女巫查询会导致问题)。

其中一些是第三方的,但我很确定您可以通过谷歌搜索 APP 的名称找到大量信息

【讨论】: