sysbench安装、使用、出图
admin
2023-05-03 07:44:11
0

背景

最近着迷于性能测试,遂学习一把压测神器sysbench

sysbench是github上开源的项目

链接地址:https://github.com/akopytov/sysbench

通用安装方法

1.clone and download选择copy URL

2.cd /tmp --> Centos终端输入git clone https://github.com/akopytov/sysbench.git

3.按照README.MD中源码安装指导一步步操作即可。
yum -y install make automake libtool pkgconfig libaio-devel
yum -y install mariadb-devel
./autogen.sh
./configure
make -j
make install

sysbench测试I/O

关键词:随机产生数据,测试不同磁盘,在不同磁盘目录下执行命令

准备阶段:sysbench --test=fileio --num-threads=4 --file-total-size=10G --file-test-mode=rndrw prepare

压力测试阶段:sysbench --test=fileio --num-threads=4 --file-total-size=10G --file-test-mode=rndrw run

清理数据阶段:sysbench --test=fileio --num-threads=4 --file-total-size=10G --file-test-mode=rndrw cleanup

基础名称解析==压测要关注什么

TPS:Transactions Per Second,每秒传输的事务处理个数。这是指服务器每秒处理的事务数,是支持事务的存储引擎特有的一个性能指标。

QPS:Queries Per Second,每秒查询处理量,适用大多数存储引擎。

tpmC:Transactions Per Minute,每分钟处理的交易量,等同于TPS,是TPC-C的测试指标(tpcc-mysql)。

iops:每秒磁盘进行的I/O操作次数

iowait:一个采样周期内有百分之几的时间处于:CPU空闲、并且有仍未完成的I/O请求

svctm:设备处理请求的平均时间(ms)。指的是读写请求脱离linux内核调度,进入设备读写阶段所耗时间。

%util:可以简单的理解为:单位时间内,设备繁忙比。比如,10秒钟,有6秒在进行读写,则util = 60%。

每秒I/O字节数(I/O吞吐)

事务响应时间

I/O设备提供的设备级别IOPS、读写延时数据

一般要关注的指标

response time avg:平均响应时间

TPS and OPS

系统层面的cpu、io、mem相关指标

如何判定哪个测试模式性能更好

如果两次tps/tpmC一样,那么谁的事务响应时间、iowait、svctm、%util、读写延时更低,就是谁更好

mysql压测举例

sysbench /tmp/sysbench/src/lua/oltp_read_write.lua \
--mysql-host=127.0.0.1 --mysql-port=3306 \
--mysql-user=sysbench --mysql-password=sysbench \
--mysql-db=sbtest --tables=10 --table-size=100000 --threads=1 \
--report-interval=10 --rand-type=uniform --max-time=300 \
--max-requests=0 --percentile=99 prepare/run/cleanup

结果指定到文件:
run >>./log/sysbench_oltpX_20180313.log

参数解释:
./src/lua/oltp_read_write.lua 表示调用本脚本进行oltp模式测试
--mysql-db=sbtest 表示指定测试库
--tables=10 表示生成10个测试表
--table-size=100000 表示每个测试表填充数据量为100000

run模式的参数:
--threads=1 表示发起1个并发连接
--report-interval=10 表示每10秒输出一次测试进度报告
--rand-type=uniform 表示随机类型为固定模式
--max-time=300 表示最大执行时长300秒
--max-requests=0 表示总请求数为 0,因为上面已经定义了总执行时长,所以总请求数可以设定为 0;也可以只设定总请求数,不设定最大执行时长
--percentile=99 表示设定采样比例,默认是 95%;即丢弃1%的长请求,在剩余的99%里取最大值

压测三部曲

prepare:准备阶段,准备数据
run:压测执行
cleanup:压测后马上清理数据

每次压测后要做什么

每轮测试完成后,都重启mysqld实例,并且用下面的方法删除系统cache,释放swap(如果用到了swap的话),甚至可以重启整个OS
shell> sync --将脏数据刷新到磁盘
shell> echo 3 > /proc/sys/vm/drop_caches --清楚OS Cache
shell> swapoff -a && swapon -a

出图

安装windows客户端,用于出图
软件:gp507-win64-mingw
下载url:https://jaist.dl.sourceforge.net/project/gnuplot/gnuplot/5.0.7/gp507-win64-mingw.exe
举例:
plot 'C:\Users\limin\Downloads\20180314.log' using 7 with linespoint title 'vm1-TPS',
'C:\Users\limin\Downloads\20180314-10.log' using 7 with linespoint title 'vm2-TPS'
sysbench安装、使用、出图

相关内容

热门资讯

卖“毒蛋”的人,抓到了 作者 | 何国胜 编辑 | 向现“(人)抓到了,目前案件正在侦办中。”7月28日晚间,苏州禁毒部门有...
尺素金声丨实施零关税国家达63... 海关总署发布的数据显示,今年5月1日起,我国对53个非洲建交国全面实施零关税举措,目前,我国实施零关...
职业索赔盯上基层诊所,倒逼用药... 文 | 布丁基层诊所正在被职业索赔盯上。据新京报,去年夏天,一男子走进河南南阳一家诊所,要求购买三瓶...
“西瓜我全买了”就可以肆意妄为... 拿西瓜砸了人,把瓜都买了,就能一走了之吗?事实证明,这套逻辑在法治社会行不通。7月28日晚,据海峡都...
科学家在日本广岛发现新物质,系... 在美国对日本广岛进行原子弹轰炸近81年后,科学家们在广岛的沙滩上发现了一种奇异且从未被发现过的新物质...
AI失控,反噬开始 作者 | 贺一 编辑 | 阿树近期,中国开源模型在美国频繁引发热议。7月28日,月之暗面发布Kimi...
“总统千金天价离婚”,分到43... 2026年7月24日下午,首尔高等法院,一场持续近十年的司法拉锯战终于接近尾声。法庭裁定SK集团会长...
巴基斯坦,又拿下一个历史性协议 全世界都没想到,接连的中东大战,巴基斯坦正成为最大赢家。去年以色列追杀哈马斯,空袭卡塔尔首都,阿拉伯...
汇正财经贺峰的一对一指导服务怎...   对于考虑购买证券投资顾问服务的投资者来说,'一对一指导服务怎么样'是一个重要的考量维度。需要首先...
重庆失联00后网格员龚宝冬确认...   重庆失联00后网格员龚宝冬确认遇难  【重庆失联00后网格员龚宝冬确认遇难】2026年7月29日...