MySQL SSL 性能损耗
今天我们介绍一个测试 MySQL SSL性能的工具 sysbench [1],并使用 sysbench 测试 MySQL 在启用SSL后的性能损耗。[2]
测试环境
由于硬件资源有限,测试机器为笔者一个比较老的上网本,配置为:
2 Core, Intel(R) Atom(TM) CPU N270 @ 1.60GHz
Memroy: 2G
配置MySQL SSL
配置 MySQL SSL 参考之前的这篇文章即可。
下载 sysbench 源
执行源代码中的 autogen.sh 脚本,生成 configure.sh 脚本。
执行 configure.sh 脚本,生成 makefile 。
make, make install
测试
1. 准备数据
prepare.sh
#!/bin/bash USER="user1" PASSWORD="Changeme_123" DB="test" ./bin/sysbench --
2. 执行测试
run.sh
#!/bin/bash USER="user1" PASSWORD="Changeme_123" DB="test" for SSL in on off do for threads in 1 2 4 8 16 32 do ./bin/sysbench --mysql-host=localhost --mysql-port=3306 --mysql-user=${USER} --mysql-password=${PASSWORD} --mysql-db=${DB} --mysql-
结果分析
测试的结果有一点奇怪,在并发
1. 并发线程数为1,writes/s 的对比
2. 并发线程数为2,writes/s 的对比
3. 并发线程数为4,writes/s 的对比
4. 并发线程数为8,writes/s 的对比
5. 并发线程数为16,writes/s 的对比
6. 并发线程数为32,writes/s 的对比
7. 并发线程数为1,reads/s 的对比
8. 并发线程数为2,reads/s 的对比
9. 并发线程数为4,reads/s 的对比
10. 并发线程数为8,reads/s 的对比
11. 并发线程数为16,reads/s 的对比
12. 并发线程数为32,reads/s 的对比
结束语
MySQL 设计是一个高性能
关于在并发线程数 2,4,8 情况下,测试结果的疑问,感兴趣的同学可以自己测试一遍,笔者空了后面也会再次测试,毕竟只测试了一份数据还是可能存在偏差或错误。
测试相关代码和结果都在