Jmeter压测详解

🍅 视频学习:文末有免费的配套视频可观看

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

随着商业业务不断扩张,调用adsearch服务频率越来越高,所以这次想做个压测,了解目前多少并发量可以到达adsearch服务的界值。

这次选用的jmeter压测工具,压测思路如图:

一.日志入参

日志选取的adsearch 的 getads部分

思路: rd线上获取该部分入参下载到本地,我们读取该部分生成入参对象。(这个套路用到很多工具上,比较省事不用拼参数)

如图:

通过jaskson库扫描文件转成对象 

ps:jaskson开源库,用于处理JSON和xml生成对象,百度一下很多博客,遇到问题可以直接搜索都有解决方案。

我们拿到日志之后简单处理下,变成如图格式,在我们读取的要文件的时候,注意下哪部分入参,jaskson是把json结构结合构造函数,自动完成set动作生成有值的对象。

二.jmeterGUI并发

1.依赖jar包

如何打包

idea直接使用marven→package就可以把项目打成jar包。打包jar在项目本地路径/target/.jar

jar放置哪里

项目jar包和依赖jar需要放置在jmeter本地路径:./jmeter/apache-jmeter/lib/ext/

  • 坑1:我之前放置在lib同级目录 extras/下面,一直没有办法运行,后面注意看清楚。
  • 坑2:./lib/ 下面jmeter相关的jar不要乱动,否则坑死你,各种莫名错误。

项目相关依赖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实例,会提示端口占用

如图: 

送给大家一句话,共勉:当我们能力不足的时候,首先要做的是内修!当我们能力足够强大的时候,就可以外寻了! 

最后,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】 

B站强推!建议所有想学自动化测试的,死磕这个视频,2024年字节最新内部教程,全程干货无废话!

  • 19
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
总有你需要的: javax.security.auth.message_1.0.0.v201108011116.jar javax.security.auth.message.source_1.0.0.v201108011116.jar org.eclipse.jetty.annotations_9.1.1.v20140108.jar org.eclipse.jetty.annotations.source_9.1.1.v20140108.jar org.eclipse.jetty.client_9.1.1.v20140108.jar org.eclipse.jetty.client.source_9.1.1.v20140108.jar org.eclipse.jetty.continuation_9.1.1.v20140108.jar org.eclipse.jetty.continuation.source_9.1.1.v20140108.jar org.eclipse.jetty.deploy_9.1.1.v20140108.jar org.eclipse.jetty.deploy.source_9.1.1.v20140108.jar org.eclipse.jetty.http_9.1.1.v20140108.jar org.eclipse.jetty.http.source_9.1.1.v20140108.jar org.eclipse.jetty.io_9.1.1.v20140108.jar org.eclipse.jetty.io.source_9.1.1.v20140108.jar org.eclipse.jetty.jaas_9.1.1.v20140108.jar org.eclipse.jetty.jaspi_9.1.1.v20140108.jar org.eclipse.jetty.jaspi.source_9.1.1.v20140108.jar org.eclipse.jetty.jmx_9.1.1.v20140108.jar org.eclipse.jetty.jmx.source_9.1.1.v20140108.jar org.eclipse.jetty.jndi_9.1.1.v20140108.jar org.eclipse.jetty.jndi.source_9.1.1.v20140108.jar org.eclipse.jetty.osgi.boot_9.1.1.v20140108.jar org.eclipse.jetty.osgi.boot.jsp_9.1.1.v20140108.jar org.eclipse.jetty.osgi.boot.jsp.source_9.1.1.v20140108.jar org.eclipse.jetty.osgi.boot.source_9.1.1.v20140108.jar org.eclipse.jetty.osgi.boot.warurl_9.1.1.v20140108.jar org.eclipse.jetty.osgi.boot.warurl.source_9.1.1.v20140108.jar org.eclipse.jetty.osgi.httpservice_9.1.1.v20140108.jar org.eclipse.jetty.osgi.httpservice.source_9.1.1.v20140108.jar org.eclipse.jetty.osgi.npn.fragment_9.1.1.v20140108.jar org.eclipse.jetty.plus_9.1.1.v20140108.jar org.eclipse.jetty.plus.source_9.1.1.v20140108.jar org.eclipse.jetty.proxy_9.1.1.v20140108.jar org.eclipse.jetty.rewrite_9.1.1.v20140108.jar org.eclipse.jetty.rewrite.source_9.1.1.v20140108.jar org.eclipse.jetty.security_9.1.1.v20140108.jar org.eclipse.jetty.security.source_9.1.1.v20140108.jar org.eclipse.jetty.server_9.1.1.v20140108.jar org.eclipse.jetty.server.source_9.1.1.v20140108.jar org.eclipse.jetty.servlet_9.1.1.v20140108.jar org.eclipse.jetty.servlet.source_9.1.1.v20140108.jar org.eclipse.jetty.servlets_9.1.1.v20140108.jar org.eclipse.jetty.servlets.source_9.1.1.v20140108.jar org.eclipse.jetty.spdy.client_9.1.1.v20140108.jar org.eclipse.jetty.spdy.client.source_9.1.1.v20140108.jar org.eclipse.jetty.spdy.core_9.1.1.v20140108.jar org.eclipse.jetty.spdy.core.source_9.1.1.v20140108.jar org.eclipse.jetty.spdy.http.server_9.1.1.v20140108.jar org.eclipse.jetty.spdy.http.server.source_9.1.1.v20140108.jar org.eclipse.jetty.spdy.server_9.1.1.v20140108.jar org.eclipse.jetty.spdy.server.source_9.1.1.v20140108.jar org.eclipse.jetty.util_9.1.1.v20140108.jar org.eclipse.jetty.util.ajax_9.1.1.v20140108.jar org.eclipse.jetty.util.ajax.source_9.1.1.v20140108.jar org.eclipse.jetty.util.source_9.1.1.v20140108.jar org.eclipse.jetty.webapp_9.1.1.v20140108.jar org.eclipse.jetty.webapp.source_9.1.1.v20140108.jar org.eclipse.jetty.websocket.api_9.1.1.v20140108.jar org.eclipse.jetty.websocket.api.source_9.1.1.v20140108.jar org.eclipse.jetty.websocket.client_9.1.1.v20140108.jar org.eclipse.jetty.websocket.client.source_9.1.1.v20140108.jar org.eclipse.jetty.websocket.common_9.1.1.v20140108.jar org.eclipse.jetty.websocket.common.source_9.1.1.v20140108.jar org.eclipse.jetty.websocket.server_9.1.1.v20140108.jar org.eclipse.jetty.websocket.server.source_9.1.1.v20140108.jar org.eclipse.jetty.websocket.servlet_9.1.1.v20140108.jar org.eclipse.jetty.websocket.servlet.source_9.1.1.v20140108.jar org.eclipse.jetty.xml_9.1.1.v20140108.jar org.eclipse.jetty.xml.source_9.1.1.v20140108.jar

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值