mysql版本: 5.6
sysbench: 1.0.17
系统: centos 7(4核8G) SSD
sysbench安装: yum install sysbench -y
跑测试需要用到lua脚本,不想自己写可以用官方的脚本
git clone https://github.com/akopytov/sysbench.git
1、测试只读性能
准备数据: sysbench /root/sysbench/src/lua/oltp_read_only.lua --threads=10 --events=0 --time=300 --mysql-host=xxx --mysql-user=root --mysql-password=password --mysql-port=3306 --tables=20 --table-size=100000 --range_selects=off --db-ps-mode=disable --report-interval=1 prepare
运行测试: sysbench /root/sysbench/src/lua/oltp_read_only.lua --threads=10 --events=0 --time=300 --mysql-host=xxx --mysql-user=root --mysql-password=password --mysql-port=3306 --tables=20 --table-size=100000 --range_selects=off --db-ps-mode=disable --report-interval=1 run
清理数据: sysbench /root/sysbench/src/lua/oltp_read_only.lua --threads=10 --events=0 --time=300 --mysql-host=xxx --mysql-user=root --mysql-password=password --mysql-port=3306 --tables=20 --table-size=100000 --range_selects=off --db-ps-mode=disable --report-interval=1 cleanup
2、测试读写性能
准备数据: sysbench /root/sysbench/src/lua/oltp_read_write.lua --threads=10 --events=0 --time=300 --mysql-host=xxx --mysql-user=root --mysql-password=password --mysql-port=3306 --tables=20 --table-size=1000000 --report-interval=1 prepare
运行数据: sysbench /root/sysbench/src/lua/oltp_read_write.lua --threads=10 --events=0 --time=300 --mysql-host=xxx --mysql-user=root --mysql-password=password --mysql-port=3306 --tables=20 --table-size=1000000 --report-interval=1 run
清理数据: sysbench /root/sysbench/src/lua/oltp_read_write.lua --threads=10 --events=0 --time=300 --mysql-host=xxx --mysql-user=root --mysql-password=password --mysql-port=3306 --tables=20 --table-size=1000000 --report-interval=1 cleanup
备注: 测试的并发数(threads)和表的大小(table-size)均会影响测试结果,建议设置多个值排列组合进行测试
例: table-size=100000/50000/1000000 threads=10/20/30
table-size变化了之后需要重新cleanup和prepare数据,threads则不用
单表10W数据下的性能
操作
并发
QPS
TPS
Latency
95% latency
读
10
36.7k
3k
3.3ms
4.7ms
读
20
43.3k
3.6k
5.5ms
12.5ms
读
30
35.8k
3k
10.1ms
38.9ms
读写
15
7.9k
396
37.8ms
125.5ms
读写
20
7.9k
396
50.4ms
147.6ms
读写
25
9.4k
472
53ms
142.4ms
读写
30
9.3k
467
64.3ms
150.3ms
单表50W数据下的性能
操作
并发
QPS
TPS
Latency
95% latency
读
5
22k
1.8k
2.7ms
3.4ms
读
10
36k
3k
3.3ms
4.7ms
读
15
39k
3.3k
4.6ms
8.4ms
读
20
34k
2.8k
7.1ms
27.2ms
读写
5
1.7k
84.8
58.9ms
142.4ms
读写
10
2.7k
134.1
74.5ms
150.3ms
读写
15
3.25k
162.5
92ms
248.8ms
读写
20
3.4k
169
118.2ms
331.9ms
读写
25
3.7k
184.9
135ms
419.5ms
单表100W数据下的性能
操作
并发
QPS
TPS
Latency
95% latency
读
5
21k
1.75k
2.95ms
3.75ms
读
10
35.5k
2.96k
3.4ms
4.65ms
读
15
38k
3.2k
4.7ms
8.4ms
读
20
34k
2.8k
7.1ms
27.2ms
读写
5
1374
68.7
72.7ms
164.5ms
读写
10
1940
97
103.1ms
277.2ms
读写
15
2188
109.4
136.9ms
376.5ms
读写
20
2619
131
152.5ms
412ms
Mysql基准性能小结:
表大小
操作
QPS
TPS
Latency
95% latency
10W
读
43.3k
3.6k
5.5ms
12.5ms
10W
读写
9.4k
472
53ms
142.4ms
50W
读
39k
3.3k
4.6ms
8.4ms
50W
读写
3.25k
162.5
92ms
248.8ms
100W
读
38k
3.2k
4.7ms
8.4ms
100W
读写
1940
97
103.1ms
277.2ms