一、JMeter简介
? Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
? Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。
二、JMeter 安装
下载地址:https://jmeter.apache.org/download_jmeter.cgi
1、下载截图
2、历史版本下载截图
2.1、
2.2、
3、启动
下载解压找到:apache-jmeter-5.2\bin\jmeter.bat 双击启动
4、英文转换为中文界面
在Options—>Choose Language下选择中文简体
三、JMeter 压测示例
1、添加线程组(鼠标右击Test Plan)
2、设置线程组参数
线程组参数详解:
- 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里
也就是设置多少个线程数。
-
Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为 10,准备时长为 2,那么需要 2 秒钟启动 10 个线程,也就是每秒钟启动 5 个线程。 -
循环次数:每个线程发送请求的次数。如果线程数为 10,循环次数为 100,那么每个线程发送 100 次请求。总请求数为 10*100=1000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。 -
Delay Thread creation until needed:直到需要时延迟线程的创建。 -
调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远) -
持续时间(秒):测试持续时间,会覆盖结束时间 -
启动延迟(秒):测试延迟启动时间,会覆盖启动时间 -
启动时间:测试启动时间,启动延迟会覆盖它。当启动时间已过,手动只需测试时当前时间也会覆盖它。 -
结束时间:测试结束时间,持续时间会覆盖它。
3、添加 HTTP 请求
右键线程组添加
4、添加监听器
5、启动压测&查看分析结果
四、JMeter Address Already in use 错误解决
windows 本身提供的端口访问机制的问题。
Windows 提供给 TCP/IP 链接的端口为 1024-5000,并且要四分钟来循环回收他们。就导致
我们在短时间内跑大量的请求时将端口占满了。
1、cmd 中,用 regedit 命令打开注册表
2、在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 下
- 右击 parameters,添加一个新的 DWORD,名字为 MaxUserPort,然后双击 MaxUserPort,输入数值数据为 65534,基数选择十进制
- 同上添加:TCPTimedWaitDelay:30 //可不添加,用于设置30秒回收端口
3、修改配置完毕之后记得重启机器才会生效
https://support.microsoft.com/zh-cn/help/196271/when-you-try-to-connect-from-tcp-ports-greater-than-5000-you-receive-t
五、性能监控
1、jconsole 与 jvisualvm
Jdk 的两个小工具 jconsole、jvisualvm(升级版的 jconsole);通过命令行启动,可监控本地和
远程应用。远程应用需要配置
2、jvisualvm 能干什么
监控内存泄露,跟踪垃圾回收,执行时内存、cpu 分析,线程分析…
3、安装插件方便查看 gc
- cmd启动jvisualvm
- 工具—>插件
- 找到 Visual GC 下载安装
- 如果 503 错误解决
- 打开网址 https://visualvm.github.io/pluginscenters.html
- cmd 查看自己的 jdk 版本,找到对应的jdk版本,复制对应的链接
- 设置—>双击插件中心—>粘贴到URL
详细文档 https://download.csdn.net/download/weixin_49385823/56184685
|