前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >使用 JMeter 进行压力测试

使用 JMeter 进行压力测试

作者头像
晓晨
发布于 2018-06-22 08:10:33
发布于 2018-06-22 08:10:33
1.8K00
代码可运行
举报
文章被收录于专栏:晓晨的专栏晓晨的专栏
运行总次数:0
代码可运行

一.前言

压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤,下面我带大家来使用一款压力测试工具JMeter。

二.关于JMeter

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。 Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。

官网:http://jmeter.apache.org/download_jmeter.cgi

这里我选用了 4.0 版本的二进制包:http://mirror.bit.edu.cn/apache//jmeter/binaries/apache-jmeter-4.0.zip

更多内容介绍 https://baike.baidu.com/item/Jmeter/3104456

三.准备工作

因为JMeter是使用JAVA写的,所以使用JMeter之前,先安装JAVA环境,本文就不讲不如安装JAVA环境了。.

JAVA环境变量配置:https://jingyan.baidu.com/article/fd8044fa2c22f15031137a2a.html

解压下载的二进制包,进入bin目录,使用jmeter.bat启动程序。

启动之后会有两个窗口,一个cmd窗口,一个JMeter的 GUI。前面不要忽略CMD窗口的提示信息:

JMeter:

CMD窗口的提示信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
================================================================================
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use NON GUI Mode:
   jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
   Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html
================================================================================

上面的意思就是:不要使用GUI运行压力测试,GUI仅用于压力测试的创建和调试;执行压力测试请不要使用GUI。使用下面的命令来执行测试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]

并且修改JMeter批处理文件的环境变量:HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"

更改语言为中文

官方默认为我们提供了简体中文。通过 【Options】->【Choose Language】变更为简体中文

四.创建测试

1.创建线程组

在“测试计划”上右键 【添加】-->【Threads(Users)】-->【线程组】。

设置线程数和循环次数。我这里设置线程数为500,循环一次。

2.配置元件

在我们刚刚创建的线程组上右键 【添加】-->【配置元件】-->【HTTP请求默认值】。

配置我们需要进行测试的程序协议、地址和端口

当所有的接口测试的访问域名和端口都一样时,可以使用该元件,一旦服务器地址变更,只需要修改请求默认值即可。

3.构造HTTP请求

在“线程组”右键 【添加-】->【samlper】-->【HTTP 请求】设置我们需要测试的API的请求路径和数据。我这里是用的json

4.添加HTTP请求头

在我们刚刚创建的线程组上右键 【添加】-->【配置元件】-->【HTTP信息头管理器】。

因为我要传输的数据为json,所以设置一个 Content-Type:application/json

5.添加断言

在我们刚刚创建的线程组上右键 【添加】-->【断言】-->【响应断言】。

根据响应的数据来判断请求是否正常。我在这里只判断的响应代码是否为200。还可以配置错误信息

6.添加察看结果树

在我们刚刚创建的线程组上右键 【添加】-->【监听器】-->【察看结果树】。

直接添加,然后点击运行按钮就可以看到结果了。

7.添加Summary Report

在我们刚刚创建的线程组上右键 【添加】-->【监听器】-->【Summary Report】。

直接添加,然后点击运行按钮就可以看到结果了。

为了不引起不必要的争论,隐藏了TPS。此数据不具备任何价值,仅仅为文章演示。

8.测试计划创建完成

记得点保存。

五.执行测试计划

前面我们说过,执行测试计划不能用GUI,需要用命令行来执行。

我这里执行的命令为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
jmeter -n -t testplan/RedisLock.jmx -l testplan/result/result.txt -e -o testplan/webreport

说明:

testplan/RedisLock.jmx 为测试计划文件路径 testplan/result/result.txt 为测试结果文件路径 testplan/webreport 为web报告保存路径。

Web报告如下:

六.写在最后

线程数量和循环次数将会影响最终的测试报告,请大家多多测试。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-05-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
图文详解压力测试工具JMeter的安装与使用
压力测试是目前大型网站系统的设计和开发中不可或缺的环节,通常会和容量预估等工作结合在一起,穿插在系统开发的不同方案。
万猫学社
2022/04/22
6910
图文详解压力测试工具JMeter的安装与使用
Jmeter使用及压测
Apache JMeter是Apache组织开发的基于Java的压力测试工具。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言;
iginkgo18
2021/06/15
9670
使用 JMeter 进行 Dubbo 性能测试
说到性能测试工具,你会立刻联想到哪一个?ab(ApacheBench)、JMeter、LoadRunner、wrk…可以说市面上的压测工具实在是五花八门。那如果再问一句,对 Dubbo 进行性能压测,你会 pick 哪一个?可能大多数人就懵逼了。可以发现,大多数的压测工具对开放的协议支持地比较好,例如:HTTP 协议,但对于 Dubbo 框架的私有协议:dubbo,它们都显得力不从心。
kirito-moe
2019/09/09
2.3K0
使用 JMeter 进行 Dubbo 性能测试
JMeter简单回顾
之前公众号推文一上手就分享如何测接口, 其实忽略了一些概念性的东西, 今天来给大家拾遗补缺, 做个回顾吧.
louiezhou001
2019/07/25
6880
JMeter简单回顾
jmeter 使用总结
为了方便学习,可以检出 https://github.com/peacetrue/learn-jmeter 资源库,里面有一些具体的测试计划文件(后缀为 jmx),可以直接导入后运行:
安宁
2020/07/03
6640
apache-jmeter-3.3的简单压力测试使用方法
Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率。熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadRunner了。
Java编程指南
2019/08/02
1.1K0
apache-jmeter-3.3的简单压力测试使用方法
使用JMeter对网站和数据库进行压力测试
前言 表面看来,JMeter与本系列课程似乎关系不大,但实际上在后面的很多场景中起着重要作用:如何获知修改了某些代码或者设置之后系统性能是提升了还是下降了呢?商业的压力测试工具LoadRunner确实很高大上,但是据说费用也不便宜且体积也不小,而目前最高版本的开源免费压力测试工具JMeter3.2压缩包体积才不到53M,而且对于开发人员而非专业测试人员来说,JMeter提供的测试功能已经够强大了。要完整地介绍JMeter,即使把JMeter自带的文档翻译成中文就是一本厚厚的书了。但是在本篇只讲述如何利用JMeter来对Web网站和数据库进行压力测试,因为测试场景的复杂性,本篇实例讲述基于csv文件的参数化测试。 JMeter提供了对不同的协议、服务器及应用的测试支持,如下: Web – 各种开发语言开发出的网站,比如ASP/ASP.NET/JSP/PHP/Python/Perl等 SOAP / REST Webservices FTP Database via JDBC(基于JDBC对数据库进行压力测试) LDAP Message-oriented middleware (MOM) via JMS Mail - SMTP(S), POP3(S) and IMAP(S) Native commands or shell scripts TCP Java Objects 还是那句话:本篇只讲述对Web网站和基于JDBC对数据库进行压力测试。 软件准备 JMeter3.2:为保持与本文有比较好的对照,建议从官网下载3.2版本,下载地址:http://jmeter.apache.org/[preferred]/jmeter/binaries/apache-jmeter-3.2.zip 此软件解压后即可使用。 Tomcat8.5:本实例中的关于Web网站的压力测试都是基于Tomcat8.5的,下载地址:http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz 如果嫌麻烦,可以直接在上一篇《开发人员学Linux(3):CentOS7中安装JDK8和Tomcat8》的环境中进行。 MySQL Community Server5.7:本篇中将以MySQL为例讲述如何对数据库进行压力测试,实际上本篇对MySQL版本没有要求,但后来今后,还是建议下载5.7版本,下载地址:https://dev.mysql.com/downloads/mysql/,同时请下载MySQL的JDBC驱动。 注意:本篇中JMeter在Windows下运行,MySQL数据库及Tomcat服务器均在CentOS7下运行。 使用JMeter对一般性网站进行压力测试 为便于演示,这里以上一篇《开发人员学Linux(3):CentOS7中安装JDK8和Tomcat8》中搭建起来的环境进行压力测试,本人的虚拟机支持桥接模式,IP地址为:192.168.60.198,在Tomcat中有一个简单的提交表单,网址是:http://192.168.60.198:8080/examples/servlets/servlet/RequestParamExample,页面如下图所示:
菲宇
2019/06/13
2.7K0
使用JMeter对网站和数据库进行压力测试
接口测试工具-Jmeter压力测试使用
上一期分享了接口调用的工具-Postman(传送门:接口测试工具-Postman使用详解),这业务场景中还需要分析对应接口的性能,是否支持多并发,多并发的极限QPS在什么地方,这个时候就需要压力测试工具-Jmeter。
用户9925864
2022/07/27
1.7K0
接口测试工具-Jmeter压力测试使用
apache-jmeter-3.1的简单压力测试使用方法
压力测试工具LoadRunner是收费的,而且操作复杂。作为开发人员当然是用apache提供的jmeter,免费容易上手。  jmeter下载地址http://jmeter.apache.org/首先下载解压到某个盘,我放在了D盘  然后配置环境变量:  变量名JMETER_HOME,变量值D:\java\apache-jmeter-3.1 在变量名CLASSPATH新增  %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;  %JMETER_HOME%\lib\jorphan.jar;  %JMETER_HOME%\lib\logkit-2.0.jar;  在Path新增%JMETER_HOME%/bin  配置好后,在cmd输入jmeter.bat或者在安装目录bin里面直接点击也是可以的;
拓荒者
2019/03/11
1.2K0
apache-jmeter-3.1的简单压力测试使用方法
使用Jmeter进行功能和性能测试
Jmeter 的工作原理是仿真用户向服务器发送请求,并收集服务器应答信息并计算统计信息。
鱼找水需要时间
2023/04/09
1.9K0
使用Jmeter进行功能和性能测试
JMeter快速入门
今天的年会已过,仍然是空手而归,不过俺坚信能让生活稳定永远都是努力。由于隔壁组负责年会的抢红包项目,因而趁此机会把通过工具模拟高并发的知识补了补,通过和身边大师的交流,总算是对压力测试有了个简要的了解,尤其是熟悉JMeter的使用(之前还想过自己写个多线程客户端,被大师说重复造轮子不可取)。 基础概念 Apache JMeter是Apache组织开发的基于Java的压力测试工具,是非常简洁有效的选择,页面使用swing构建。支持很多类型的测试,包括最常见的Web(Http/Https),FTP等,尽管是JA
用户1216676
2018/01/24
1.3K0
jmeter压力测试
2、登录jmeter官网http://jmeter.apache.org/download_jmeter.cgi,点击如下图操作
用户5807183
2019/10/10
3.6K0
jmeter压力测试
Mac OS下Jmeter的入门操作
压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤,下面带大家来使用一款压力测试工具Jmeter。
henryhhan
2021/06/24
13.2K0
Mac OS下Jmeter的入门操作
关于Jmeter
   关于JMeter,这里就不做过多说明,可以查看官网了解。我们只需要知道这是一款用Java开发的压力测试工具,可以模拟对服务器的请求来测试它们的负载强度,分析不同压力类型下的整体性能。
happyJared
2018/09/20
6400
关于Jmeter
使用Jmeter测试MD5加密接口性能测试实战
性能测试过程中,有时候会遇到需要进行加解密的接口,下面我就来介绍如何针对MD5加密接口进行性能测试 1、首先找开发了解需求,知道是一个http类型的post请求,需要对请求的applianceId参数进行MD5加密处理,然后把该参数输入到sign,最后发起请求给服务器 2、我们需要做的就是问开发拿到MD5加密函数(java),然后通过jmeter的前置处理器BeanShell PreProcessor,就可以实现该效果 3、由于applianceId也需要参数化,所以需要使用CSV数据文件处理
jmeter技术研究
2019/10/19
1.7K0
使用Jmeter测试MD5加密接口性能测试实战
基于jmeter完成压测
jmeter 算是我们日常比较常用的压测工具,这篇文章笔者就介绍一下基于 win10 完成 jmeter 的安装及使用。
程序员Leo
2023/08/07
3810
基于jmeter完成压测
大型网站压力测试及优化方案
木桶理论又称短板理论,其核心思想是一只木桶盛水多少,并不取决于最高的木板,而取决于最短的那块木板。
lyb-geek
2019/12/24
3.3K0
大型网站压力测试及优化方案
Jmeter接口测试+压力测试
meter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在linux/windows/macos上都可以使用。
顾翔
2019/12/11
8.4K1
Jmeter接口测试+压力测试
Jmeter压力测试工具安装及使用教程
1)解压之后压缩包叫apache-jmeter-4.0.zip,如是src.zip后缀的都不对,打开之后会报错不可用,因为里面缺少我们下一步将要配置的环境变量.jar文件。
大龄老码农-昊然
2021/05/11
8160
Jmeter压力测试工具安装及使用教程
用JMeter做接口压力测试
排查线上的一个列表接口响应慢问题,时不时响应时间就是10多秒,后面发现可能是接口压测有问题。
人人都是码农
2023/11/16
4090
用JMeter做接口压力测试
相关推荐
图文详解压力测试工具JMeter的安装与使用
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文