压力测试JMeter
- [1 下载JMeter](#1 下载JMeter)
-
- [1.1 测试计划](#1.1 测试计划)
- [1.2 JMeter Address Already in use 错误解决](#1.2 JMeter Address Already in use 错误解决)
- [1.3 java 内存模型](#1.3 java 内存模型)
- [1.4 jconsole与jvisualvm](#1.4 jconsole与jvisualvm)
- [1.5 优化方向](#1.5 优化方向)
- [1.6 Nginx动静分离](#1.6 Nginx动静分离)
1 下载JMeter
官网地址:https://jmeter.apache.org/download_jmeter.cgi
运行apache-jmeter-5.6.3\bin\jmeter.bat
可以先设置为简体中文
1.1 测试计划
添加线程组用来模拟用户
添加http请求的取样器
添加监听器下的查看结果树
可选监听器下的汇总报告/聚合报告
1.2 JMeter Address Already in use 错误解决
解决方案:调整端口连接超过5000的上限和端口回收时间。
Win+R 打开运行窗口 输入regedit
来到计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 下
1.右击parameters,添加一个新的DWORD,名字为MaxUserPort
2.然后双击MaxUserPort,输入数值数据为65534,基数选择十进制(如果是分布式运行的话,控制机器和负载机器都需要这样操作)
3.修改配置完毕后需要重启才生效
参考:
TCPTimedWaitDelay: 30
1.3 java 内存模型
java 内存模型
1.4 jconsole与jvisualvm
Win+R 输入jconsole 启动 jconsole控制台
Win+R 输入jvisualvm启动jvisualvm控制台
1.5 优化方向
1.中间件越多,性能损失越大,大部分都损失在网络交互上了。
2.业务中的DB操作,模版渲染,静态资源的加载都会消耗大部分io资源。
1.6 Nginx动静分离
1.将所有项目的静态资源都放在nginx里面
2.规则:/static/**所有请求都由nginx直接返回
关键配置在项目的nginx配置文件中配置
location /static/ {
root /usr/share/nginx/html;
}