当前位置: 首页>开发笔记>正文

【jmeter】 --- jmeter使用详解

【jmeter】 --- jmeter使用详解

由于接入业务方及日调用量的增加,现需对几个接口进行压力测试,以满足线上要求.

由于Jmeter是开源的,而且基本上可以完成公司正常的测试要求,所以Jmeter这一款软件才是我认为的最佳的压力测试工具.

首先是jmeter软件的安装,jmeter是基于java的,所以首先本地需要有Java环境。

具体java环境的安装与环境变量配置可见: https://blog.csdn.net/Beat_Boxer/article/details/85236393

验证java环境是否安装成功:

☆☆☆☆java -version 和  javac 都成功方可成功

☆☆☆☆温馨提示:jmeter4.0需要jdk8及以上java版本

下面就是Jmeter的下载     下载地址 http://jmeter.apache.org/download_jmeter.cgi

下载安装jmeter后,进入bin目录下,运行jmeter.bat即可进入jmeter客户端

如果想在cmd中直接运行jmeter,可以配置Jmeter环境变量

参照:https://blog.csdn.net/Beat_Boxer/article/details/86498847,jmeter环境变量的配置

如果需要汉化版,可以参照该文档:https://blog.csdn.net/Beat_Boxer/article/details/86504864

Jmeter里面需要了解结果概念
 

1、Test plan 测试计划,所有的测试工作都要基于测试计划来进行,一个测试项目中只能有一个的测试计划,测试计划在整个项目中充当的是一个全局设置的作用;

2、

①Thread 线程组,代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。可以在“测试计划->添加->线程组”来建立它,

在线程组面板里有几个输入栏:

依次是:线程数、Ramp-Up Period(in seconds)、循环次数,其中Ramp-Up Period(in seconds)表示在这时间内创建完所有的线程。如有100个线程,Ramp-Up = 1秒,那么线程的启动时间间隔为1/100=0.01秒,这样的好处是:一开始不会对服务器有太大的负载。线程组是为模拟并发负载而设计。

线程组为很多线程的一个集合,在项目中可以有多个的线程组,线程组主要是建立一组线程集中对一个请求进行测试,比如说你想测试T1和T2两个接口,这时候你就可以通过创建两个线程组来完成这个任务

②Setup thread group 
初始化的线程,每个线程只执行一次,用于执行预测试操作 ;Setup thread group 执行测试前 进行定期线程组执行活动。 
线程内显示内容与线程组一致。

③Teardown Thread group 
做些清理工作,每个线程只执行一次,用于执行测试后动作。 线程内容与线程组一致。 
Teardown Thread group执行测试结束后执行定期的线程组(类似Loadrunner的测试完毕后对应的清除信息的脚本)

3、线程组创建完成下面就来介绍一下最核心的部分,创建请求部分;

一般都是在线程组==》添加==>Sampler(取样器)==》添加对应的请求(例如:Java请求,http接口请求等)

取样器(Sampler):模拟各种请求。所有实际的测试任务都由取样器承担,存在很多种请求。如:HTTP 、Java、ftp请求等等。

4.选择对应的Java请求或者http接口进行配置之后然后进行压测

此时

点击运行也不能有结果显示,需要添加监听器Listener

5.添加监听器Listener:负责收集测试结果,同时也被告知了结果显示的方式。功能是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。

常见的监听器:

聚合报告、用表格查看结果、查看结果树、图形结果

聚合报告:我们能够从聚合报告中获取相关的测试结果,这个也是我们分析结果的主要依据,这个显示的是同一请求

 

聚合报告关键词解释:

Label :各个模拟测试的名称
Samples :各个测试的样本总数
Average :每个请求的平均响应时间
Median :中值,即50%请求的平均响应时间
90%Line :90%请求的响应时间
Min :最小响应时间 ,Max :最大的响应时间
Error% :错误响应的概率。即无法响应的概率。
ThroughPut :吞吐量 -- 默认情况下表示每秒完成的请求数(Request per Second)。
Received KB/Sec :每秒从服务器端接收到的数据量。

查看结果树:这个跟表格查看结果有点相似,但是比起根据有详细的发送请求的信息,以及返回的结果可以查看

 

图形结果:

6.Jmeter的分布式测试(优缺点)此部分借鉴https://blog.csdn.net/chenleixing/article/details/43418185

下面是分布式测试的使用方法,即使用一台机器控制多台机器给目标机器产生压力。由于Linux和Windows上的方法有些不一样,这里说下Linux下是怎么来配置的。

首先总控的机器我们叫master,产生压力的肉鸡我们叫JmeterServer,待我们测试的系统我们叫Target.

第一步:启动JmeterServer。我们可以找到Jmeter/bin 目录下的jmeter-server这个脚本,运行即可,当然如果你需要调整这个测试负载产生服务器的内存等性能参数的话,我们修改这个脚本jmeter中的内存参数。

第二步 : 修改Master机器上jmeter/bin目录下的jmeter.properties文件,修改remote_hosts=localhost:1099,localhost:2010这个为你自己的JmeterServer的实际IP,如果有多台可以用逗号分开。

第三步 : 启动master jmeter,运行测试脚本的时候选:运行 --> 远程运行 --> 选择IP 或者 运行所有远程。JmeterServer就会运行Master机器上设定的运行脚本了。

 

https://www.zydui.com/afb02V28CAAJZ.html
>

相关文章:

  • jmeter接口自动化
  • jmeter函数
  • jmeter网页抓包
  • jmeter怎么用
  • java应用程序标识符
  • jmeter修炼宝典
  • jmeter如何自动化抓包
  • eclipse实用教程
  • IQVIA醫藥咨詢隨筆雜談
  • 爬取英雄聯盟英雄皮膚數據
  • 英雄聯盟 連接服務器失敗 請檢查您的網絡 是否啟用修復程序進行修復,英雄聯盟玩不了,提示未知的directx錯誤...
  • 三位千萬富翁告訴你:錢是怎么賺來的
  • 芳香之城傳奇的美麗神話故事
  • Solid Converter PDF注冊碼
  • 修改linux下面的字符集
  • 30個不可思議的好玩又實用的HTML5移動應用
  • 安卓新出病毒幽靈推,回顧android歷史上的那些吸費病毒
  • 游戲編程技術貼:AI設計的若干規則闡述
  • mac啟動自動運行程序_什么啟動了,為什么在我的Mac上運行?
  • 什么是UserEventAgent,它為什么在Mac上運行?
  • 蔚來汽車新財報超預期,短期或難盈利互聯網造車行不通嗎?
  • 車行的進貨問題
  • spring BeanFactory 家族介紹
  • 地址家族/名字解析
  • VS中怎么調出資源方案管理器
  • 告別低效工作,幫你重新找回工作的掌控感
  • 從Mac連接Windows共享打印機(1)
  • c4d流體插件_Cinema 4D 流體模擬插件 TurbulenceFD C4D v1.0 Build 1425 Win64
  • 經典生活總結語錄(搞笑欣賞)
  • 項目打包打的是什么包_早安打工人是什么梗,朋友圈打工人文案語錄表情包!...
  • 前端學習從入門到高級全程記錄之25(webapi)
  • 中職計算機應用普測考試試題及答案,2017職稱計算機考試WPS_Office檢測練習及答案9...
  • 微型計算機的主板又稱為,供電設計比7999元的主板還猛,ROG M11A主板首次亮相
  • webStorm使用斷點
  • 逆風翻盤?順豐大股東聯手本來集團上演O2O+B2C生鮮大戲
  • 三國志戰略版:Daniel_“坦克兵種”象兵分析
  • RISK-V品牌的中國化歷程(下)
  • 網游找call通殺方法之另辟蹊徑