怎么查看网站建设时间,西安企业名录黄页,seo网站规划,电子商务网站建设的基本过程使用 JMeter 进行API接口压力测试 
一.前言 
压力测试是每一个Web应用程序上线之前都需要做的一个测试#xff0c;他可以帮助我们发现系统中的瓶颈问题#xff0c;减少发布到生产环境后出问题的几率#xff1b;预估系统的承载能力#xff0c;使我们能根据其做出一些应对措施…使用 JMeter 进行API接口压力测试 
一.前言 
压力测试是每一个Web应用程序上线之前都需要做的一个测试他可以帮助我们发现系统中的瓶颈问题减少发布到生产环境后出问题的几率预估系统的承载能力使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤下面我带大家来使用一款压力测试工具JMeter。 
二.关于JMeter 
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载来自不同压力类别下测试它们的强度和分析整体性能。另外JMeter能够对应用程序做功能/回归测试通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性JMeter允许使用正则表达式创建断言。 Apache jmeter 可以用于对静态的和动态的资源文件ServletPerl脚本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窗口的提示信息 Dont 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:MaxMetaspaceSize256m in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html上面的意思就是不要使用GUI运行压力测试GUI仅用于压力测试的创建和调试执行压力测试请不要使用GUI。使用下面的命令来执行测试 jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]并且修改JMeter批处理文件的环境变量HEAP-Xms1g -Xmx1g -XX:MaxMetaspaceSize256m 
更改语言为中文 
官方默认为我们提供了简体中文。通过 【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需要用命令行来执行。 我这里执行的命令为 
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报告如下 六.写在最后 
线程数量和循环次数将会影响最终的测试报告,请大家多多测试。