MySQL基准测试
2.4 基准测试工具
2.4.1 集成式测试工具
ab
它可以测试HTTP服务器每秒最多可以处理多少请求。
http_load
设计为对Web服务器进行测试,可以通过一个输入文件提供多个URL。
JMeter
是一个Java应用程序,可以加载其他应用并测试其性能。
2.4.2 单组件式测试工具
mysqlslap
可以模拟服务器的负载,并输出计时信息。测试时可以执行并发连接数,并指定SQL语句。
MySQL Benchmark Suite(sql-bench)
主要用于测试服务器执行查询的的速度。
Super Smack
可以提供压力测试和负载生成。
Database Test Suite
一款类似某些工业标准测试的测试工具集。
sysbench
是一款多线程系统压测工具。可以根据影响数据库服务器性能的各种因素来评估系统的性能。
BENCHMARK()
函数
MySQL的Mysql有一个内置的BENCHMARK函数,可以测试某些特定操作的执行速度。例如:
mysql> SET @input := 'hello world';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT BENCHMARK(1000000, MD5(@input));
+---------------------------------+
| BENCHMARK(1000000, MD5(@input)) |
+---------------------------------+
| 0 |
+---------------------------------+
1 row in set (0.24 sec)
mysql> SELECT BENCHMARK(1000000, SHA1(@input));
+----------------------------------+
| BENCHMARK(1000000, SHA1(@input)) |
+----------------------------------+
| 0 |
+----------------------------------+
1 row in set (0.22 sec)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
虽然BENCHMARK函数用起来很方便,但是不适合用来做真正的基准测试,引用很难理解真正要测试的是什么,而且测试的只是整个执行周期中的一部分环节。