使用 Jmeter进行压测
一、环境配置
因为jmeter需要java环境,所以需要下载Jdk和Jmeter。需要注意jdk的版本和jmeter的匹配问题
推荐大家观看Furion的作者百小僧的视频来学习,讲的很细
1、安装JDK,并配置环境变量
官网下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html,根据自己情况选择下载:
下载成功后,双击安装包,一直下一步即可(可以自定义安装目录,我设置为D:\SoftInstallPackage\jdk-11.0.9_windows-x64_bin,记住这个路径,设置环境变量要用),安装完成之后按照下图进行环境变量配置:
选择高级系统设置:
点击环境变量:
检验是否配置成功:在命令提示符输入:java -version
2、JMETER下载及配置环境变量
官网下载地址:http://jmeter.apache.org/download_jmeter.cgi ,一般下载Binaries,Source含有源码
下载后无需安装,解压后即可使用。下图为解压后的目录。
完成以上操作后,需要进行配置jmeter的环境变量。如下图:
操作完上面的步骤,我们就可以点击Jmeter中bin目录下面的jmeter.bat文件即可打开Jmeter了。注意:打开的时候会有两个窗口,Jmeter的命令窗口和Jmeter的图形操作界面,不可以关闭命令窗口。
进入JMeter界面。
二、使用JMeter对Websocket进行压测
如果不想看英文界面可以设置成中文,如下:
1、插件安装
想要测试websocket请求,但是没有找到WebSocket Sample,如下图:
所以准备利用plugins-manager安装websocket插件,结果发现plugins-manager也没有,如下图:
所以先安装plugins-manager插件,插件链接:https://jmeter-plugins.org/get/,将下载的jar包放入jmeter的 lib/ext目录,重启jmeter,如下图:
重启Jmeter,可以看到有plugins-manager了,如下图:
接下来利用Plugins Manager安装Websocket插件,点击Options – Plugins Manager,如下图:
在Available Plugins标签下搜索websocket,选中WebSocket Samplers by Peter Doornbosch,然后点击Apply Changes and Restart JMeter按钮。
这样就能看到WebSocket Sample了:
2、Websocket压测
在Test Plan上点击右键,依次选择Add – Threads – Thread Group
添加完成后,对线程组进行配置:
在HelloFontWsTest上点击右键,依次选择Add – Sampler – Websocket Open Connection
保存完毕之后呢,我们需要在压测的过程中,去查看请求的结果,因此需要添加一个“查看结果树”
这个时候我们点击启动,看看效果:
这个时候我们把线程数加大,先加达到100
点击启动,看看效果:
我们可以看到红色就是失败的个数。数量有点多,所以我们需要借助Aggregate Graph(聚合报告):
点击启动,看看效果:
这样我们就可以不断的去改变线程数,然后去观察失败率和吞吐量,得到一个当前请求的一个最佳的相应数。在测试的过程中发现,如果手动去强制停止的话,最后的几条请求会因为手动停止而抛出异常,所以我们可以重新设置线程组,达到请求次数后自动停止,不要永久循环。比如,请求十万次,我们可以设置如下: