安装压测工具sysbench
RHEL/CentOS:
wget https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh
$ cat /etc/os-release |grep ID
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
chmod a+x script.rpm.sh
os=centos dist=7 ./script.rpm.sh
yum -y install sysbench
[root@master opt]# rpm -ql sysbench
/usr/bin/sysbench
/usr/share/doc/sysbench-1.0.20
/usr/share/doc/sysbench-1.0.20/COPYING
/usr/share/doc/sysbench-1.0.20/ChangeLog
/usr/share/doc/sysbench-1.0.20/README.md
/usr/share/licenses/sysbench-1.0.20
/usr/share/licenses/sysbench-1.0.20/COPYING
/usr/share/sysbench
/usr/share/sysbench/bulk_insert.lua
/usr/share/sysbench/oltp_common.lua
/usr/share/sysbench/oltp_delete.lua
/usr/share/sysbench/oltp_insert.lua
/usr/share/sysbench/oltp_point_select.lua
/usr/share/sysbench/oltp_read_only.lua
/usr/share/sysbench/oltp_read_write.lua
/usr/share/sysbench/oltp_update_index.lua
/usr/share/sysbench/oltp_update_non_index.lua
/usr/share/sysbench/oltp_write_only.lua
......省略一些输出
分别在Oceanbase和mysql集群中创建测试数据库和用户:
Oceanbase上执行:
obclient -uroot@obmysql -proot -P2883 -h192.168.18.28 -e "create database sbtest;"
obclient -uroot@obmysql -proot -P2883 -h192.168.18.28 -e "grant all on sbtest.* to sbtest@'%' identified by 'sbtest';"
mysql集群上执行:
mysql -uroot -p123456 -P8066 -h127.0.0.1 -e "create database sbtest;"
mysql -uroot -p123456 -P8066 -h127.0.0.1 -e "grant all on sbtest.* to sbtest@'%' identified by 'sbtest';"
压测
1 对Oceanbase的读写测试:
–准备数据
./oltp_read_write.lua --mysql-host=10.0.14.22 --mysql-port=2883 --mysql-user=root@obcp_t1 --mysql-password='' --mysql-db=sbtest --tables=15 --table-size=100000 --report-interval=2 --time=60 --threads=15 --auto_inc=off --mysql-ignore-errors --db-ps-mode=disable prepare
发现在执行该脚本时,会报错:
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)