文章目录
- 简介
- 编译
- 测试步骤
- 测试结果
简介
sysbench是一个开源的、模块化的、跨平台的多线程性能测试工具,可以用来进行CPU、内存、磁盘I/O、线程、数据库的性能测试。 是一个基于 LuaJIT 的可编写多线程基准测试工具。它最常用于数据库基准测试,本文将介绍oushudb基于此工具的测试结果。
编译
-
cd /data4/sysbench
-
./autogen.sh
-
./configure --prefix=/usr/local/pgsysbench/ --without-mysql --with-pgsql --with-pgsql-includes=/usr/pgsql-12.2/include --with-pgsql-libs=/usr/pgsql-12.2/lib
-
make && sudo make install
测试步骤
(eg:测试oltp_read_write.lua,其他workload项与步骤示例相同)
- Prepare
/usr/local/pgsysbench/bin/sysbench /data4/sysbench/src/lua/oltp_read_write.lua --db-driver=pgsql --pgsql-host=127.0.0.1 --pgsql-port=5532 --pgsql-user=postgres --pgsql-password=postgres --pgsql-db=postgres --tables=10 --table-size=1000000 --threads=50 --time=120 --events=0 --report-interval=10 --percentile=99 prepare >~/sysbench_prepare.log
- 2.Run
/usr/local/pgsysbench/bin/sysbench /data4/sysbench/src/lua/oltp_read_write.lua --db-driver=pgsql --pgsql-host=127.0.0.1 --pgsql-port=5532 --pgsql-user=postgres --pgsql-password=postgres --pgsql-db=postgres --tables=10 --table-size=1000000 --threads=50 --time=120 --events=0 --report-interval=10 --percentile=99 run >~/sysbench_run.log
- Cleanup
/usr/local/pgsysbench/bin/sysbench /data4/sysbench/src/lua/oltp_read_write.lua --db-driver=pgsql --pgsql-host=127.0.0.1 --pgsql-port=5532 --pgsql-user=postgres --pgsql-password=postgres --pgsql-db=postgres --tables=10 --table-size=1000000 --threads=50 --time=120 --events=0 --report-interval=10 --percentile=99 cleanup >~/sysbench_cleanup.log
测试结果
注:tables: 10 #row: 100w 100并发
workload |
events/s(eps) |
time elapsed |
total number of envents |
oltp_delete.lua |
555517.1546 |
600.0133s |
333317675 |
oltp_insert.lua |
74141.944 |
600.0826s |
44491289 |
oltp_update_index.lua |
89695.0965 |
600.0275s |
53819522 |
oltp_point_select.lua |
609251.3645 |
600.0247s |
365565867 |
oltp_read_write.lua |
11601.7039 |
600.0279s |
6961346 |