sysbench 0.5 for PostgreSQL

sysbench 0.5 for PostgreSQL

postgresql安装

sysbench下载

git clone https://github.com/akopytov/sysbench.git
cd sysbench
checkout 0.5
./autogen.sh

执行 ./configure

--with--pgsql-includes指定pg安装的include, --with-pgsql-lib类似,其次要带--with-pgsql参数安装pgsql驱动:

./configure --prefix=/home/xxx/sysbench --with-pgsql-includes=/home/xxx/include --with-pgsql-libs=/home/xxx/lib --with-pgsql --without-mysql
make -j
make install

开始PG测试

准备数据:

sysbench --test=/home/xxx/sysbench-s/share/sysbench/oltp.lua \ 
--db-driver=pgsql --oltp-table-size=1000 --oltp-tables-count=4 \
--threads=5 --time=10 --pgsql-host=127.0.0.1 \ 
--pgsql-port=54322 --pgsql-user=xxx --pgsql-db=postgres \
prepare
参数说明:

--test: sysbench提供的测试脚本路径,也可自己编写
--oltp-table-size: table-size为1000行
--oltp-tables-count: 4张表
--thread 启动线程数
其他参数参考http://imysql.com/wp-content/uploads/2014/10/sysbench-manual.pdf

开始测试:

sysbench --test=/home/xxx/sysbench-s/share/sysbench/oltp.lua  \
--db-driver=pgsql --oltp-read-only=on --report-interval=2 --oltp-table-size=1000 \
--oltp-tables-count=4 --threads=5 --time=10 --pgsql-host=127.0.0.1 \
--pgsql-port=54322 --pgsql-user=xxx --pgsql-db=postgres \
run > sysben_pgread.log 2>&1

这次测试指定只读操作--oltp-read-only=on,默认都写操作都有

测试结果:

sysbench 0.5 for PostgreSQL

approx.95 percenttile: 95%的平均耗时

数据卸载:

sysbench --test=/home/xxxx/sysbench-s/share/sysbench/oltp.lua \
--db-driver=pgsql --report-interval=2 --oltp-table-size=1000 --oltp-tables-count=4  \
--oltp-read-only=on --threads=5 --time=10 --pgsql-host=127.0.0.1 \
--pgsql-port=54322 --pgsql-user=xxx --pgsql-db=postgres \
cleanup