测试工具
Sysbench 是一个基于 LuaJIT 的可编写脚本的多线程基准测试工具。它最常用于数据库基准测试,但也可用于创建不涉及数据库服务器的任意复杂工作负载,本次测试将采用Sysbench 的多线程测试功能对AtomData OP版进行了读写模式的性能测试
工具安装
参数设置
--table_size(行) | 1000,0000/1,0000,0000/5,0000,0000 |
--tables | 100 |
--threads | 4/8/16/32/64/128/256/512/1024 |
--time | 600 |
--report-interval | 10 |
--db-ps-mode | disable |
测试范围
point_selects=
"SELECT c FROM sbtest%u WHERE id=?"
simple_ranges =
"SELECT c FROM sbtest%u WHERE id BETWEEN ? AND ?"
sum_ranges = {
"SELECT SUM(k) FROM sbtest%u WHERE id BETWEEN ? AND ?"
order_ranges = {
"SELECT c FROM sbtest%u WHERE id BETWEEN ? AND ? ORDER BY c"
distinct_ranges = {
"SELECT DISTINCT c FROM sbtest%u WHERE id BETWEEN ? AND ? ORDER BY c"
non_index_updates = {
"UPDATE sbtest%u SET c=? WHERE id=?"
deletes = {
"DELETE FROM sbtest%u WHERE id=?"
测试方法
- 1000,0000的测试,100张表,每张表中有10,0000行数据
- 1,0000,0000的数据,100张表,每张表中有500,0000行数据
- 5,0000,0000的数据,100张表,每张表中有100,0000行数据
- 每个数据量均按照不同的并发1/4/8/16/32/64/128/256/512进行测试
- 利用写好的sysbench.sh脚本,直接运行测试,将测试结果进行记录并保存
测试指标
TPS、QPS、RT
测试脚本
#生成数据
sysbench /usr/share/sysbench/oltp_read_write.lua --tables=100 --threads=4 --table_size=100000 --mysql-host=192.168.30.118 --mysql-port=3001 --mysql-db=syw_insert3 --mysql-user=kepler --mysql-password=Aa123456 --report-interval=10 --db-ps-mode=disabl --verbosity=5 prepare
#执行测试
sysbench /usr/share/sysbench/oltp_read_write.lua --tables=100 --threads=4 --table_size=1000000 --mysql-host=192.168.30.118 --mysql-port=3001 --mysql-db=syw_insert --mysql-user=kepler --mysql-password=Aa123456 --report-interval=10 --db-ps-mode=disabl --verbosity=5 run
#清除数据
作者:Syw