mysql - 我如何对 MySQL 进行基准测试?

标签 mysql benchmarking mysql-workbench

我目前正在使用 MySQL 工作台。随着表中行数的增加,我想查看性能差异。我想具体测试比较1000行、10000行、100000行、1000000行和10000000行。

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

最佳答案

是的。我猜对其中一些人来说,Benchmark 是最好的选择

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

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(很高兴知道女巫查询会导致问题)。

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

关于mysql - 我如何对 MySQL 进行基准测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10694400/

相关文章:

php - 如何两次加入另一个表?

php - 我如何对我的 SQL 和 PHP 代码进行基准测试?

java - Android 内部存储基准测试提供了难以置信的快速读取速度

mysql - 如何使用 MySQL Workbench 使 mysql 服务器可公开访问?

使用批处理文件备份Mysql数据库

php - 如何将数据库中的图像调成每行10张图像?

mysql工作台错误打开EER

mysql - 选择在sql中出现N次的列的值

mysql - 无法连接到 *.*.*.* 上的 MySQL 服务器 (10060)

java - Java 中类似于 Criterium 的 BenchMark 框架