全网最新最全的jmeter压测话不多说,只想尽快教会你用Jmeter编写脚本压测
Posted 测试架构师北凡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全网最新最全的jmeter压测话不多说,只想尽快教会你用Jmeter编写脚本压测相关的知识,希望对你有一定的参考价值。
目录
一.背景
随着商业业务不断扩张,调用adsearch服务频率越来越高,所以这次想做个压测,了解目前多少并发量可以到达adsearch服务的界值。
这次选用的jmeter压测工具,压测思路如图:
二.日志入参
日志选取的adsearch的 getads部分
思路: rd线上获取该部分入参下载到本地,我们读取该部分生成入参对象。(这个套路用到很多工具上,比较省事不用拼参数)
如图:
通过jaskson库扫描文件转成对象
ps:jaskson开源库,用于处理JSON和xml生成对象,百度一下很多博客,遇到问题可以直接搜索都有解决方案。
参考博客:
https://blog.csdn.net/u011054333/article/details/80504154
我们拿到日志之后简单处理下,变成如图格式,在我们读取的要文件的时候,注意下哪部分入参,jaskson是把json结构结合构造函数,自动完成set动作生成有值的对象。
三.jmeterGUI并发
3.1依赖jar包
3.1.1如何打包
idea直接使用marven→package就可以把项目打成jar包。打包jar在项目本地路径/target/.jar
3.1.2jar放置哪里
项目jar包和依赖jar需要放置在jmeter本地路径:./jmeter/apache-jmeter/lib/ext/
-
坑1:我之前放置在lib同级目录 extras/下面,一直没有办法运行,后面注意看清楚。
-
坑2:./lib/ 下面jmeter相关的jar不要乱动,否则坑死你,各种莫名错误。
3.1.3项目相关依赖jar包
因为要调用adsearch肯定要有adsearch的jar,但是还有其他,你有不知道怎么办呢,这坑了好久,后面发现一个办法:
-
就是你不知道依赖什么jar先用jmeter的GUI端运行一下,同时打开/bin/jmeter.log查看报错,非常详细,缺少那个,找个那放进去就行了。
四.参数设置
-
线程数:并发量,可以理解一次有多少用户同时访问。
-
Rame-Up(secondes):jmeter每个多少s增加并发。
举例:1000线程,rame-up=10s。即每s增加100线程。
-
循环次数:一个线程循环多少次
jmeter并发,注释链接服务的打印,不然打印结果也会被搭理自动请求,服务会提示有误
报错如图:
解决方案:
五、结果分析
-
下游最大调用量20万/min :adsearch→zzsearch/zzqr
-
最大响应时间:500ms
-
最大qps:不断增加并发数,增加一个值后tps出现下降,那么最大tps就是那个值。
-
最大并发数:不断增加并发数,增加到某个值后,服务端不断出现超时,则最大并发数就是那个值。
六.启动多个jmeter实例,会提示端口占用
如图:
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
在我的QQ技术交流群里(技术交流和资源共享,广告进来腿给你打断)
可以自助拿走,群号913569736(备注“csdn000”)群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。
以上是关于全网最新最全的jmeter压测话不多说,只想尽快教会你用Jmeter编写脚本压测的主要内容,如果未能解决你的问题,请参考以下文章
忙里偷闲一下午总结:全网最全最细Linux实时监测CPU 温度,拿来即用版本,亲测无异常,建议收藏