环境
- 操作系统: Ubuntu 20.04
- JMeter 5.5
背景
Apache JMeter是一个开源的Java工具,用来做功能和性能测试。它最初被设计为测试web应用,后来扩展到一些其它的功能测试。
本文用JMeter做一个简单的并发HTTP请求测试。
下载
下载地址:https://jmeter.apache.org/download_jmeter.cgi
我下载的文件是 apache-jmeter-5.5.tgz
。
使用
使用 tar -zxvf apache-jmeter-5.5.tgz
解压,生成 apache-jmeter-5.5
目录。
到 bin
目录下,运行 ./jmeter.sh
,就打开了JMeter程序界面:
本文中我们用JMeter来测试HTTP请求,所以首先要起一个web server(比如启动一个Spring web程序)。
先手工测试一下:
➜ ~ curl --silent http://localhost:8080/test | jq .
{
"key1": "value1"
}
OK,接下来我们用JMeter来测试。
为了方便使用,可以先定义一些变量。右键点击 Test Plan
,Add
-> Config Element
-> User Defined Variables
:
点击 Add
按钮,添加 host
、 port
等变量:
右键点击 Test Plan
, Add
-> Threads
-> Thread Group
:
右键点击 Thread Group
, Add
-> Sampler
-> HTP Request
:
填写必要的信息,比如地址,端口,method,参数,body等:
如果要添加header信息,则右键点击刚才的request, Add
-> Config Element
-> HTTP Header Manager
:
最后,要看请求的响应结果的话,需要右键点击刚才的request, Add
-> Listener
-> View Results Tree
:
现在就可以点击工具栏上绿色小三角图标,运行测试了:
注:如果还没有保存,JMeter会提示你先保存test plan。
可见,运行成功了,response结果跟刚才用 curl
得到的结果一致。
这个请求只运行了一次。可以在 Thread Group
里配置运行并发数量,比如改成100,再次运行:
右上角显示了运行时间、 运行数/总数,点击感叹号,会显示log。
左边的那些 Thread Group
、 MyTest1
等,都可以拖拽位置,也都可以右键enable/disable。总体来说JMeter非常的灵活方便,随心所配。
注:本文只介绍了JMeter最简单最基本的功能,其它功能有待研究。