标签:load 链接库 1.0 tom 自己 soc 无法 比较 legacy
1、什么是基准测试
数据库的基准测试是对数据库的性能指标进行定量的、可复现的、可对比的测试。
基准测试与压力测试
基准测试可以理解为针对系统的一种压力测试。但基准测试不关心业务逻辑,更加简单、直接、易于测试,数据可以由工具生成,不要求真实;而压力测试一般考虑业务逻辑(如购物车业务),要求真实的数据。
2、基准测试的作用
对MySQL的基准测试,有如下两种思路:
(1)针对整个系统的基准测试:通过http请求进行测试,如通过浏览器、APP或postman等测试工具。该方案的优点是能够更好的针对整个系统,测试结果更加准确;缺点是设计复杂实现困难。
(2)只针对MySQL的基准测试:优点和缺点与针对整个系统的测试恰好相反。
在针对MySQL进行基准测试时,一般使用专门的工具进行,例如mysqlslap、sysbench等。其中,sysbench比mysqlslap更通用、更强大,且更适合Innodb(因为模拟了许多Innodb的IO特性),下面介绍使用sysbench进行基准测试的方法。
1、sysbench简介
sysbench是跨平台的基准测试工具,支持多线程,支持多种数据库;主要包括以下几种测试:
cup性能、磁盘IO性能、调度程序性能、内存分配以及传输速度、POSIX线程性能,数据库性能测试(OLTP基准测试)
2、sysbench的安装
下载解压:
1 wget https://github.com/akopytov/sysbench/archive/1.0.zip -O "sysbench-1.0.zip" 2 unzip sysbench-1.0.zip 3 cd sysbench-1.0
安装依赖
yum install -y automake libtool
安装:
1 ./autogen.sh 2 ./configure 3 export LD_LIBRARY_PATH=/home/zhutong/DB/mysql-5.7.21/include #这里换成机器中mysql路径下的include 4 make 5 make install
安装成功:
[root@test sysbench-1.0]# sysbench --version sysbench 1.0.9
报错:
sysbench: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory
解决办法:
vi /etc/ld.so.conf
下边加一行数据库的安装lib目录
我的:
/home/mysql/lib
查看动态链接库中是否存在 libmysqlclient.so.20
ldconfig -p| grep mysql libmysqlclient.so.18 (libc6,x86-64) =>/usr/lib64/mysql/libmysqlclient.so.18
不存在创建软连接并刷新动态链接库
ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib/ ldconfig
再次查看
ldconfig -p| grep mysql
完美解决
参数须知
MySQL连接信息参数
MySQL执行参数
1、准备数据
sysbench ./tests/include/oltp_legacy/oltp.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --mysql-table-engine=innodb --db-driver=mysql --mysql-db=cloud-data --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --threads=10 --time=120 --report-interval=10 --mysql-socket=/tmp/mysql.sock prepare
2、执行测试
sysbench ./tests/include/oltp_legacy/oltp.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --mysql-table-engine=innodb --db-driver=mysql --mysql-db=cloud-data --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --threads=10 --time=120 --report-interval=10 --mysql-socket=/tmp/mysql.sock run
清理数据:
分析结果:
其中,对于我们比较重要的信息包括:
queries:查询总数及qps
transactions:事务总数及tps
Latency-95th percentile:前95%的请求的最大响应时间,本例中是23.1毫秒。
标签:load 链接库 1.0 tom 自己 soc 无法 比较 legacy
原文地址:https://www.cnblogs.com/zbbiex/p/9808146.html