【问题标题】: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 的名称找到大量信息