linux环境下jmeter压测实战--傻瓜式教程

写在前面
  • 本地跑jmeter,电脑环境、网络环境等都会影响压测结果产生误差,压测的目的当然是希望能无限接近真实情况,一般参考服务器压测。

  • 线上压测需谨慎(整出问题了领导可能要喊你去喝茶~),需要评估影响范围,防止对其它系统造成影响,建议步骤:

    • 1、被压系统只能抽掉一台服务器进行压测,先摘掉流量,被压机器不能同步提供线上服务,其他服务器要能正常提供服务;

    • 2、确定压测计划,包含压测时间、压测方法、放量节奏(只允许逐步放量,最高不能超过10倍)、监控方法、监控人;

    • 3、最好是邮件或群里周知一下,包括你的下游;

一、权限申请

  • 服务器压测需要申请服务器环境
    • 1.master机器权限:用于搭jmeter环境、执行压测脚本,所以需要sudo权限;
    • 2.目标机器权限:用于压测过程查看log,普通权限即可;

二、环境搭建

1.ssh ip登上申请的master服务器,查看linux内核是32位还是64位(需要下载对应的jdk)命令 cat /proc/version
2.下载jmeter--官网
3.下载linux版本jdk--官网
4.cd到master机你的目录下,创建一个temp文件夹,用于存放jdk和jmeter安装包
5.cd到temp下,sudo rz -be回车,把jmeter和jdk传到linux上
6.解压jdk和jmeter
sudo tar -zxvf jdk-17_linux-x64_bin.tar.gz
sudo tar -zxvf apache-jmeter-5.4.3.tgz
7、配置jdk和jmeter环境变量
sudo vim /etc/profile,输入i进入编辑模式,脚本内容为:

#jdk
export JAVA_HOME=/home/chunzhij/temp/jdk-17.0.1
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#jmeter
export JMETER=/home/chunzhij/temp/apache-jmeter-5.4.3
export PATH=${JMETER}/bin/:${PATH}

copy进去后esc退出编辑模式,:wq保存编辑,执行source /etc/profile环境变量配置才能生效。

到这里环境应该是搭好了。
8.sudo jmeter --v运行jmeter看看是否装成功 ,图片这样就是成功了

image.png

三、压测示例

以一个简单的http接口为例,本地jmeter写好压测脚本传上去就可以跑了

操练一下吧~

1.cd到之前创建的temp目录下,上传写好的压测脚本sudo rz -be
2、执行压测sudo jmeter -n -t HTTP请求.jmx,执行过程中能实时看到压测结果,如果想停止ctrl+c就行

image.png

3.压测过程中,同时要关注目标机器能耗情况和日志,多开几个linux窗口,登上目标服务器,当然如果你们公司有监控平台,机器监控可以上监控平台看

  • 查看压测机器cpu使用情况 top -bn 1 -i -c
  • 看下目标机器日志有没有报错,这个一般就进到你的日志存放目录,tail -f 文件名 |grep error

4、生成压测报告test.jtlsudo jmeter -n -t HTTP请求.jmx -l test.jtl,在temp目录下ls能看到生成的test.jtl文件

5、下载测试报告到本地 sz /xxx/temp/test.jtl,xxx是你的路径,方便后续压测结果的分析,这个文件可以导入到jmeter里

image.png

6、如果需要多次测试不同参数,需要先删除linux的所有上次测试 jtl与jmx文件后,并且在本地按照上述重新设置好新参数,上传服务器进行执行。

四、压测结果分析

1、业务指标

  • 业务核心监控
  • 业务主要请求接口;
  • 接口请求响应时间是否合理(需关注平均响应时间、P90、P95、P99响应时间)
  • 业务接口失败数,
  • 下游系统的接口请求量,失败数,中间件相关监控

示例:

summary = 287323 in 00:00:39 = 7442.4/s Avg: 3 Min: 2 Max: 57 Err: 0 (0.00%)
summary + 237005 in 00:00:30 = 7900.2/s Avg: 3 Min: 2 Max: 45 Err: 0 (0.00%) Active: 24 Started: 24 Finished: 0


image.png
说明

summary + :是增量的值;
summary = :是当前的累计值;
summary =287323 in 00:00:39:在39秒内产生的总请求数是287323 个,其中的时间段是从脚本运行开始计算到当前时间为止,一般在脚本运行过程中主要关注 “summary=” 信息即可;
7442.4/s:系统每秒处理的请求数,相当于TPS;
in 00:00:39 = 7442.4/s:总执行时长,平均执行速度=7442.4/00:00:39;
Avg: 3:平均响应时间;
Min: 2:最小响应时间;
Max: 57:最大响应时间;
Err: 0 (0.00%):错误数/率;
Active: 24:活动的线程数;
Started: 24启动的线程数;
Finished: 0完成的线程数;

image.png
说明

Samples:本次测试场景共运行多少线程;
average:平均响应时间;
median:统计意义上的响应时间中值;
90%line:所有线程中90%的线程响应时间都小于xx的值;
95%line:所有线程中95%的线程响应时间都小于xx的值;
99%line:所有线程中99%的线程响应时间都小于xx的值;
min:最小响应时间;
max:最大响应时间;
error:错误率;
throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second) 可类比为qps
received:接收数据量
sent:发生数据量

2、机器指标

  • 负载(load):cpu核数*0.6以下
  • CPU:60%~80%之间
  • FGC:频次和时间不会增长
  • 内存
  • 磁盘读写
  • 网络流量

这些指标一般公司都有机器监控平台,可以很直观的看到压测期间的波动情况,便于结果分析。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容