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安装、使用、出图

相关内容

热门资讯

美财长贝森特专机先期抵达北京 13日下午,在特朗普抵达前,美国财长贝森特的专机先期飞抵北京,凤凰卫视记者拍摄到了专机降落前的画面。
鸿蒙版荣耀商城上架华为应用市场... PChome 5月13日消息,现荣耀商城App已正式上架华为鸿蒙应用市场,版本号26.4.0.0。 ...
员工摸鱼混日子怎么解决?推荐先... 很多企业都遇到同一个难题:员工上班消极懈怠、敷衍应付,上班时间闲散摸鱼,正事拖着不做,任务应付交差,...
专访月泉仿生胡喆祺:深耕灵巧手... 当下,人形机器人产业正迎来从技术验证向规模化落地跃迁的关键窗口期,而灵巧手作为具身智能的 “最后一厘...
腾讯控股2026财年第一财季净... IT之家 5 月 13 日消息,腾讯控股今日发布 2026 财年第一财季(2026 年 1 月 1 ...
升任华为轮值董事长,为什么是汪... 导语:鲜少出现在大众视野里的汪涛,接棒华为轮值董事长,出乎很多人意料,但这背后,既是其个人能力与长期...
加盟商参加中通快运酒局后身亡,... 5月11日,新黄河客户端以《加盟商参加中通快运酒局后身亡》为题,报道了代理加盟商纪某某在连续参加两场...
5月全球航班计划已砍掉1.3万... 作者 | 高雅2026年的夏季出行季正在中东局势的余震中拉开帷幕。对于全球旅客而言,这一季的机票订单...
凯特王妃将赴意大利,系病情缓解... 【环球网报道】据英国广播公司(BBC)、美联社等媒体报道,英国威尔士王妃凯特将于13日重返国际舞台,...
河南拟发行392.99亿元地方... 【大河财立方消息】 5月13日,河南省财政厅披露2026年河南省政府一般债券(六至七期)、专项债券(...