OpenEuler上MySQL性能测试工具sysbench的部署与使用
环境
x86_64 + VMWare + openEuler 20.03 LTS SP1 sysbench1.0
安装sysbench
(1)下载源码
wget https://github.com/akopytov/sysbench/archive/1.0.zip -O "sysbench-1.0.zip" unzip sysbench-1.0.zip
(2)安装依赖包
yum install -y automake libtool openssl openssl-devel
(3)开始安装
cd sysbench-1.0 ./autogen.sh ./configure make make install
(4)尝试使用
sysbench --version
提示: 找不到动态链接库libmysqlclient.so.21,需要设置对应路径的环境变量:
export LD_LIBRARY_PATH=/usr/local/mysql/lib/ # 为避免每次都需要export,可以将其加入动态链接库路径下 sed -i $a/usr/local/mysql/lib/ /etc/ld.so.conf # 再更新一下动态链接库 ldconfig
再执行上述命令,运行成功!
准备测试并配置sysbench参数
(1)建立测试数据库
然后便可以用下面命令登录上mysql:
mysql -u root -p
CREATE DATABASE sbtest; use sbtest;
查看有哪些数据库:
show databases;
退出mysql:
q
(2)配置sysbench参数
建一个文件夹来放一些固定的配置参数
cd ~ mkdir mysql_log cd mysql_log touch sysbench_config
用vim等工具在sysbench_config中写入以下内容:
threads=32 report-interval=10 mysql-user=root mysql-password=123456 mysql-host=localhost mysql-port=3306 mysql-db=sbtest db-driver=mysql
开始测试
本机只有4核,为了使mysql服务器与sysbench测试端尽量不互相影响,采用taskset命令绑核的方式进行性能测试。 停止mysql服务,绑定到0,1核重新运行:
service mysql stop taskset -c 0,1 service mysql start
进入到上一步创建的目录,准备开始测试:
cd ~/mysql_log
第一步是做准备工作:
sysbench --config-file=sysbench_config oltp_read_write --tables=32 --table-size=200000 --time=30 prepare
然后正式开始测试,绑定到2,3核运行,结果输出到oltp_read_write.log:
taskset -c 2,3 sysbench --config-file=sysbench_config oltp_read_write --tables=32 --table-size=200000 --time=300 --mysql-ignore-errors=8005 run > oltp_read_write.log
测试完要进行清理:
sysbench --config-file=sysbench_config oltp_read_write --tables=32 --table-size=200000 --time=300 --mysql-ignore-errors=8005 cleanup
-
TPS:Transactions Per Second,每秒钟处理完的事务次数,即服务器每秒处理的事务数。TPS包括一条消息入、一条消息出和一次用户数据库访问。一般TPS是对整个系统来讲的。一个事务在分布式处理中,可能会对应多个请求,对于衡量单个接口服务的处理能力,用QPS比较多。 QPS: Queries Per Second,每秒钟处理完请求的次数;重点在“处理完”,具体是指发出请求到服务器处理完成功返回结果。
下一篇:
后端服务架构的不同与区别