首页 > 其他分享 >Apache JMeter压力测试工具使用

Apache JMeter压力测试工具使用

时间:2023-11-09 22:00:58浏览次数:32  
标签:jsonResult HTTP 请求 jmeter JSONObject Apache 线程 测试工具 JMeter

JMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试。

软件下载

下载地址:https://jmeter.apache.org/download_jmeter.cgi 最新版本5.6.2

用浏览器下载发现慢得很,用迅雷下载非常快哟。

Apache JMeter压力测试工具使用_JMeter

测试使用

在使用前需要先安装jdk

下载完后将文件解压缩,找到bin目录下的jmeter.bat,双击即可打开

Apache JMeter压力测试工具使用_压力测试_02

可以看到默认是英文界面的

Apache JMeter压力测试工具使用_JSON_03

通过菜单Options->Choose Language->Chinese(Simplified)可以将界面切换为简体中文

Apache JMeter压力测试工具使用_JMeter_04

此时只是临时修改语言,如果关闭jmeter后,重新打开又默认是英文的了。如果想一劳永逸,找到配置jmeter.properties,打开找到行

#language=en

将此行复制出来后将#注释掉,修改为

language=zh_CN

这样下次再打开默认就为中文界面了

Apache JMeter压力测试工具使用_压力测试_05

新建测试计划

菜单 文件->新建

在“测试计划”右键菜单“添加->线程(用户)->线程组


Apache JMeter压力测试工具使用_JMeter_06


修改线程组的压力测试参数

1.在取样器错误后要执行的动作  默认为继续用于压测式,其它方式如"启动下一进程循环"、"停止线程"等可根据实际选择。

2.线程数默认为1,为1一般只为简易测试,无法体现压力测试,需要将其它改大,如100,200等

3.循环次数 选上永远就不会停下来了,没有次数限制,一直请求

Apache JMeter压力测试工具使用_JMeter_07

线程组 右键菜单“添加->取样器->HTTP请求”

Apache JMeter压力测试工具使用_JMeter_08

在这里提前准备一个本地springBoot服务来做测试

@RequestMapping("/data1")
@ResponseBody
protected JSONObject data1(@RequestParam("name") String name)  throws ServletException, Exception {
  JSONObject jsonResult=new JSONObject();
  jsonResult.put("code","0000");
  jsonResult.put("message","成功");
  log.info(name);
  return jsonResult;
 }
    
@RequestMapping("/data2")
@ResponseBody
protected JSONObject data2(@RequestBody JSONObject jo)   throws ServletException, Exception {
  JSONObject jsonResult=new JSONObject();
  jsonResult.put("code","0000");
  jsonResult.put("message","成功");
  log.info(jo.toJSONString());
  return jsonResult;
}

选中新添加“HTTP请求",根据springBoot服务应用配置录入

基本-Web服务器  

协议里输入http,请求地址 localhost,端口9001;POST方式,路径/jmater/test/data1,内容编码为UTF-8

Apache JMeter压力测试工具使用_JSON_09

选中“HTTP请求",右键菜单

添加->监听器->查看结果树

Apache JMeter压力测试工具使用_JSON_10

添加->监听器->图形结果

Apache JMeter压力测试工具使用_压力测试_11

点击上方工具栏的绿色三角形Apache JMeter压力测试工具使用_压力测试_12按扭运行

Apache JMeter压力测试工具使用_JMeter_13

查看结果树能看到成功返回了结果

Apache JMeter压力测试工具使用_JMeter_14

springBoot也接收到了信息

Apache JMeter压力测试工具使用_压力测试_15

下面接着来测试一下JSON格式

复制当前HTTP请求,粘贴修必为“HTTP请求JSON”,修改请求路径为/jmater/test/data2

JSON数据{"id":1,"name":"数据1"}

Apache JMeter压力测试工具使用_JMeter_16

运行,发现无法收到正确的结果

Apache JMeter压力测试工具使用_JMeter_17

应该请求头有问题 ,在“HTTP请求JSON”右键:添加->配置元件->HTTP信息头管理器

Apache JMeter压力测试工具使用_压力测试_18

选中新添加“HTTP信息头管理器”,添加参数:Content-Type=application/json

Apache JMeter压力测试工具使用_JMeter_19

运行,查看结果树可以看到返回了正确的结果

Apache JMeter压力测试工具使用_JSON_20

将线程组里线程数改为10,循环次数改为永远,重新运行,点击图形结果,可以看到一个简单易懂的压测情况

Apache JMeter压力测试工具使用_JMeter_21

至此完成了jmeter的简单使用。

标签:jsonResult,HTTP,请求,jmeter,JSONObject,Apache,线程,测试工具,JMeter
From: https://blog.51cto.com/u_12668715/8285785

相关文章

  • 与创新者同行,Apache Doris in 2023
    在刚刚过去的DorisSummitAsia2023峰会上,ApacheDorisPMC成员、飞轮科技技术副总裁衣国垒带来了“与创新者同行”的主题演讲,回顾了ApacheDoris在过去一年所取得的技术突破与社区发展,重新思考了在面对海量数据实时分析上的挑战与机遇,全面介绍了ApacheDoris在未来的迭代......
  • Apache php配置
    window下配置apache+php+mysql运行环境一准备 1下载apachehttp://httpd.apache.org/download.cgi#apache24httpd-2.2.22-win32-x86-openssl-0.9.8t.msi openssl表示带有openssl模块,利用openssl可给Apache配置SSL安全链接 2下载phphttp://windows.php.net/downloads/relea......
  • org.apache.log4j.Logger 详解
    org.apache.log4j.Logger 详解1. 概述1.1. 背景  在应用程序中添加日志记录总的来说基于三个目的 :监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;跟踪代码运行时轨迹,作为日后审计的依据;担当集成开发环境中的调试器的作用,向文件或控制台打......
  • Linux安装配置apache
    1.获取软件: http://httpd.apache.org/ httpd-2.2.21.tar.gz2.安装步骤:解压源文件:1tarzvxfhttpd-2.2.21.tar.gz2cdhttpd-2.2.213./configure--prefix=/usr/local/apache2--enable-so--enable-rewrite4make5makeinstall运行./configure命令进行编译源代......
  • jmeter性能瓶颈定位思路
    整体思路:从前到后,从表象到内部1、首先排查压力机自身的问题,如CPU、内存、网络、脚本2、监控中间件的访问日志,观察相应时间耗时,出现在哪一个环节。Tomcat、nginx、apache、mysql3、排查网络问题,监控压力机到后端服务器的网络是否出现瓶颈4、监控服务端的所有机器(Tomcat、nginx......
  • Apache DolphinScheduler PMC代立冬荣获中关村U30青年创业者荣誉
    北京,[2023年11月3日]—在中关村举行的U30年度优胜者见面交流会上,白鲸开源科技的联合创始人代立冬先生荣幸被选为年度优胜者之一。这是对代先生及白鲸开源科技在云原生DataOps平台领域创新成就的高度认可。中关村U30是由中国科协科学技术传播中心、共青团北京市委员会、北京市科......
  • Jmeter 常用技能记录
    一、设置全局变量,跨线程组使用先提取响应值,usenameastoken2、使用beanshell后置处理器 ${__setProperty(token,${token},)}3、跨线程组使用 ${__P(token,)}二、生成随机字符串1.使用beanshell引入uuid方法  importjava.util.UUID;UUIDuuid1=UUID.randomUUID();......
  • mac os13上安装apache\php\mysql
    macos13上安装1,下载并安装brew,brew是macos上的软件安装工具;2,安装apache2brewinstallhttpd 安装成功后提示:工程文件根目录DocumentRootis/usr/local/var/www配置文件Thedefaultportshavebeensetin/usr/local/etc/httpd/httpd.confto8080andin/usr/local/e......
  • Jmeter-定时器
    同步定时器在性能测试中,尤其是抢购/抢红包/秒杀活动业务等某时段集中访问场景,需要模拟多用户集中并发测试,此时需要用到同步定时器(SynchronizingTimer)。每次SyncTimer的目的是阻塞线程,直到阻塞了n个线程,然后立即释放它们。模拟用户数:当设置为0时,等同于线程组中设置的用户数量,......
  • HttpClient报错 org.apache.http.NoHttpResponseException : 10.1.1.0:13001 failed t
    一、问题描述使用HttpClient并发调用http接口,并发量稍微大一点就会报错org.apache.http.NoHttpResponseException:10.1.1.0:13001failedtorespond 二、排查过程最开始怀疑是服务端连接过多,拒绝请求了,监控发现服务端并没有多少连接找运维搭建了一个新环(只有我们请求服务端),......