Java使用JMeter进行高并发测试

 更新时间:2021年11月23日 09:22:25   作者:左右..  
软件的压力测试是一种保证软件质量的行为,本文主要介绍了Java使用JMeter进行高并发测试,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

软件的压力测试是一种保证软件质量的行为.在金融,电商等领域应用比较普遍.通俗的讲,压力测试即在一定的硬性条件下,模拟大批量用户对软件系统进行高负荷测试.需要注意的是,压力测试的目的不是为了让软件变得完美无瑕,而是通过压力测试,测试出软件的负荷极限,进而重新优化性能或在实际的应用环境中控制风险.

常见的压力测试工具:

1. LoadRunner:支持多种常用协议多且个别协议支持的版本比较高;可以设置灵活的负载压力测试方案,

可视化的图形界面可以监控丰富的资源;报告可以导出到Word、Excel以及HTML格式。

LoadRunner官网:https://saas.hpe.com/zh-cn/software/loadrunner

2.NeoLoad是Neotys出品的一种负载和性能测试工具,可真实地模拟用户活动并监视基础架构运行状态,从而消除所有Web和移动应用程序中的瓶颈。NeoLoad通过使用无脚本GUI和一系列自动化功能,可让测试设计速度提高5-10倍,并将维护的脚本维持在原始设计时间的10%,同时帮助用户使用持续集成系统自动进行测试。

NeoLoad支持WebSocket、HTTP1/ 2、GWT、HTML5、AngularJS、Oracle Forms等技术协议,能够监控包括操作系统,应用服务器,Web服务器,数据库和网络设备在内的各种IT基础设施,同时可以通过Neotys云平台发起外部压力。

官网链接:http://www.neotys.com/product/overview-neoload.html

3.JMeter:是开源测试工具,专门为运行和服务器负载测试而设计、100%的纯Java桌面运行程序。

原先它是为Web/HTTP测试而设计的,但是它已经扩展以支持各种各样的测试模块。

它和HTTP和SQL(使用JDBC)的模块一起运行。它可以用来测试静止或活动资料库中的服务器运行情况,

可以用来模拟服务器或网络系统在重负载下的运行情况。它也提供了一个可替换的界面用来定制数据显示,

测试同步及测试的创建和执行。多平台支持,可在Linux,Windows,Mac上运行

官网链接:http://jmeter.apache.org/

使用JMeter进行高并发测试

1.下载并安装JMeter

下载JMeter 5.0,并将下载后的apache-jmeter-5.0.zip 解压到固定目录.

然后配置jmeter环境:

1.修改变量JMETER_HOME,值为实际压缩路径

2.修改Path变量,追加以下内容  %JMETER_HOME%\bin;

3.修改或添加CLASSPATH变量,添加以下内容:

%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;
%JMETER_HOME%\lib\jorphan.jar;

2.使用JMeter进行测试

打开命令提示符窗口,输入"jmeter"命令启动JMeter,或者打开bin下的jmeter.bat,如图所示:

启动界面

设置jmeter语言为中文

设置jmeter语言

添加测试计划

添加测试

添加线程组

线程组

设置线程参数

线程数:要启动的线程数目

Ramp-Up Period(in seconds):线程启动时间间隔,如果为0,则代表同时启动对应线程数的线程,即并发数

循环次数:请求执行次数

参数

添加http请求

请求

设置http请求相关系数

系数

添加"察看结果树"监听器

监听器

启动测试计划

启动

查看测试结果

结果

结果

3.生成测试报告

jmeter -n -t D:\jmeter\jmeter-5.0\backups\测试计划.jmx -l d:\jmeter\result.jtl -e-o d:\result

 参数说明:

)n:非GUI模式执行JMeter;
)t: 脚本文件(.jmx文件)的路径;
)l: 指定生成测试结果的保存文件(.jtl格式),此文件必须不存在;
)e:测试结束后,生成测试报告;
)o:用于存放测试报告的路径;

实际保存路径

存储路径

生成结果

4.分析测试报告

APDEX是一个国际通用标准,是用户对应用性能满意度的量化值.定义了2个用户满意度阈值,是综合并发测试中的所有线程响应时间,并结合满意度阈值量化出的具体数值.

Requests Summary(请求摘要)

表示执行成功和失败的请求数目的具体占比,OK表示执行成功,KO表示执行失败,JMeter主要以HTTP状态码是否为200来判断请求的成功与失败.

Statistics(综合统计图)

Statistics为综合性的请求响应时间及响应状态的统计图,包括了请求数,请求失败数,请求错误比例,平均响应时间,最小响应时间,最大响应时间等.

到此这篇关于Java使用JMeter进行高并发测试的文章就介绍到这了,更多相关Java JMeter高并发测试内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring Web项目spring配置文件随服务器启动时自动加载

    Spring Web项目spring配置文件随服务器启动时自动加载

    这篇文章主要介绍了Spring Web项目spring配置文件随服务器启动时自动加载,加载spring的配置文件,并且只加载一次,从而提高程序效率。具体内容详情大家通过本文一起学习吧
    2018-01-01
  • Java读取properties文件之中文乱码问题及解决

    Java读取properties文件之中文乱码问题及解决

    这篇文章主要介绍了Java读取properties文件之中文乱码问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Spring Cloud Eureka 服务上下线监控的实现

    Spring Cloud Eureka 服务上下线监控的实现

    这篇文章主要介绍了Spring Cloud Eureka 服务上下线监控的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Mac OS上安装Tomcat服务器的简单步骤

    Mac OS上安装Tomcat服务器的简单步骤

    这篇文章主要介绍了Mac OS上安装Tomcat服务器的简单步骤,包括简单的启动命令和查看Tomcat信息的方法,需要的朋友可以参考下
    2015-11-11
  • @RequestParam 和@RequestBody注解的区别解析

    @RequestParam 和@RequestBody注解的区别解析

    在 Spring MVC 中,我们可以使用 @RequestParam 和 @RequestBody 来获取请求参数,但它们在用法和作用上有一些区别,这篇文章主要介绍了@RequestParam 和@RequestBody注解的区别,需要的朋友可以参考下
    2023-06-06
  • 浅谈Java文件被执行的历程

    浅谈Java文件被执行的历程

    学习java以来,都是以语法,类库入手,最基本的也是最基础的java编译过程往往被我遗忘,先解释一下学习java第一课时,都听到过的一句话,“java是半解释语言”。什么是半解释语言。本文将介绍Java文件被执行的历程。
    2021-06-06
  • 解决@RequestBody搭配@Data的大坑

    解决@RequestBody搭配@Data的大坑

    这篇文章主要介绍了解决@RequestBody搭配@Data的大坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java经典面试题汇总:Java Web

    Java经典面试题汇总:Java Web

    本篇总结的是Java Web相关的面试题,后续会持续更新,希望我的分享可以帮助到正在备战面试的实习生或者已经工作的同行,如果发现错误还望大家多多包涵,不吝赐教,谢谢
    2021-07-07
  • SpringBoot日志进阶实战之Logback配置经验和方法

    SpringBoot日志进阶实战之Logback配置经验和方法

    本文给大家介绍在SpringBoot中使用Logback配置日志的经验和方法,并提供了详细的代码示例和解释,包括:滚动文件、异步日志记录、动态指定属性、日志级别、配置文件等常用功能,覆盖日常Logback配置开发90%的知识点,感兴趣的朋友跟随小编一起看看吧
    2023-06-06
  • 详解Java中-classpath和路径的使用

    详解Java中-classpath和路径的使用

    本篇文章主要介绍了Java中-classpath和路径的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04

最新评论