Jmeter是高并发压测的工具,是大型架构的必备技能,下面我就全面来详解Jmeter@mikechen
本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。
JMeter
JMeter是一个用于性能测试、负载测试和功能测试的开源工具,由 Apache 软件基金会开发和维护。
JMeter小巧轻便且免费,可以模拟用户在一个或多个服务器上执行的负载,以评估Web应用程序或服务的性能和稳定性。
JMeter下载
JMeter可以在其官方网站下载,JMeter 官方网站:https://jmeter.apache.org
进入主页上,找到 "Download"部分,点击 "Binaries"(二进制文件)链接下载。
如下图所示:
下载后解压到你系统下的任意目录,然后配置环境变量PATH,添加一行指向jmeter目录下的bin目录。
windows系统双击jmeter.bat文件,即可打开jmeter程序。
Jmeter使用教程
因为JMeter是使用JAVA写的,所以使用JMeter之前,先安装JAVA环境。
如果还没有安装的请查看:JDK安装教程(手把手教你详细图解)
JDK安装好后,我们就可以使用了,主要分为如下4大步骤:
步骤 1:创建测试计划
打开 JMeter,在“测试计划”上右键 单机,选择【添加】->【线程(用户数)】->【线程组】
如下图所示:
在线程组属性中,可以设置线程数(用户数)、循环次数和启动时间等,如下图所示:
在 JMeter 中,线程数和循环次数是用于配置测试场景的两个重要参数。
线程数(Number of Threads/Users)
- 线程数表示在测试中同时模拟的并发用户数,每个线程都会模拟一个用户,发送请求并接收响应。
- 例如:如果将线程数设置为 100,那么 JMeter 将同时模拟 100 个用户并发送请求。
- 线程数越多,负载越大,可以更真实地模拟实际使用情况。
- 但是要注意,过多的线程数可能会占用大量系统资源,因此需要根据目标应用程序的预期负载和可用资源进行配置。
循环次数(Loop Count)
- 循环次数表示每个线程要执行的请求循环次数,一旦线程发送了指定次数的请求,测试就会结束。
- 例如:如果将循环次数设置为 5,那么每个线程将重复发送请求 5 次。
- 循环次数用于模拟用户在特定时间段内执行多次相同的操作,这对于测试一段时间内的稳定性和性能非常有用。
步骤 2:添加HTTP请求
在“线程组”右键 【添加-】->【samlper】-->【HTTP 请求】设置我们需要测试的API的请求路径和数据。
如下图所示:
在 HTTP Request 的属性中,配置请求的目标 URL、请求方法等。
如下图所示:
在 HTTP Request 取样器的属性面板中,有几个关键的配置选项:
- Name:为取样器指定一个名称,以便于识别;
- Protocol:选择要使用的协议,通常是 "http" 或 "https";
- Server Name or IP:输入目标服务器的主机名或 IP 地址;
- Port Number:输入目标服务器的端口号。默认情况下,HTTP 的端口号是 80,HTTPS 的端口号是 443。
- Path:输入请求的路径部分。例如,如果要访问 "http://example.com/path/to/resource",则应在此处输入 "/path/to/resource";
- Method:选择要使用的请求方法,如 GET、POST、PUT、DELETE 等。根据您的测试需求选择适当的方法。
步骤 3:添加监听器
在我们刚刚创建的线程组上:右键 【添加】-->【监听器】-->【察看结果树】
如下图所示:
添加监听器,主要用于获取测试结果,包括:响应数据、响应时间等。
一般添加:查看结果树、汇总报告和聚合报告这3个监听器就可以了。
步骤 4:运行压力测试
单击工具栏上的 "运行" 按钮来启动测试,JMeter 将模拟指定数量的用户并发送请求。
如下图所示:
通过压力测试后,会生成测试报告分析。
在 "View Results Tree" 监听器中,可以查看每个请求的详细结果,包括响应数据、响应时间等
在 "Aggregate Report" 监听器中,可以查看汇总报告,包括吞吐量、平均响应时间等指标。
以上就是Jmeter使用教程详解,希望对你掌握好Jmeter有所帮助。
本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。