Sysbench 性能测试工具
Sysbench
Sysbench是基于LuaJIT的可编写脚本的多线程基准测试工具,提供系统软硬件层面的性能基准测试,包括;
- 数据库基准测试
- 文件系统基准测试
- CPU性能基准测试
- 内存性能基准测试
- 线程调度基准测试
- POSIX信号量基准测试
安装部署
1 2
| curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash sudo yum -y install sysbench
|
性能测试
Postgresql
测试命令:
1 2 3 4 5 6 7 8 9
| sysbench oltp_insert.lua --time=60 --percentile=99 --pgsql-host=172.24.9.11 --pgsql-port=9999 --pgsql-user=root --pgsql-password=rjbigdata --pgsql-db=sysbench --threads=20 --table-size=10000000 --db-driver=pgsql --tables=20 prepare
sysbench oltp_insert.lua --time=60 --percentile=99 --pgsql-host=172.24.9.11 --pgsql-port=9999 --pgsql-user=root --pgsql-password=rjbigdata --pgsql-db=sysbench --threads=20 --table-size=6000000 --db-driver=pgsql --tables=20 run
sysbench oltp_read_only.lua --time=60 --percentile=99 --pgsql-host=172.24.9.11 --pgsql-port=9999 --pgsql-user=root --pgsql-password=rjbigdata --pgsql-db=sysbench --threads=20 --table-size=6000000 --db-driver=pgsql --tables=20 run
sysbench oltp_read_write.lua --time=60 --percentile=99 --pgsql-host=172.24.9.11 --pgsql-port=9999 --pgsql-user=root --pgsql-password=rjbigdata --pgsql-db=sysbench --threads=20 --table-size=100000 --db-driver=pgsql --tables=20 run
sysbench oltp_insert.lua --pgsql-host=172.24.9.11 --pgsql-port=9999 --pgsql-user=root --pgsql-password=rjbigdata --pgsql-db=sysbench --threads=20 --db-driver=pgsql --tables=20 cleanup
|
硬件配置: 128GB + 32CPU + SSD + 万兆网络
pg配置: shared_buffers = 32GB(huge_pages = on ),其他默认
测试条件:
- 预写20张表,每张1000w记录
Case |
insert |
read |
混合 |
配置 |
1 |
20线程:2488532线程:3689364线程:5813796线程:66747 |
20线程:10578196线程:230311 |
20线程:5448596线程:58404 |
单机PG |
2 |
20线程:724932线程:875264线程:999196线程:10545 |
20线程:3553196线程:72351 |
略: |
2PG+pgpool |
参考
官方GitHub