一、之前做稳定性测试,经常负载机会出现卡死的情况,报错内存溢出,现在就分析一下这个
1、jmeter是基于java请求的,所以该进程需要制定特定的JVM设置
配置文件在jmeter.home/bin的jmeter及jmeter.sh文件,配置好环境变量之后,2个命令都可以使用
我是mac所以参照以下参数:
jmeter:GUI运行时的命令,也可以用做jmeter命令行压测
jmeter.sh:基本的脚本命令,需要增加设置JVM参数
jmeter-server:jmeter服务命令,当需要控制代理机器测试时需要启动
2、配置jmeter文件修改堆大小最大内存及初始内存
打开jmeter,为了确定我们的设置已经生效,打开jdk中jvisualvm
可以看出JVM参数已经生效
使用高并发测试,复现一下内存溢出的情况,安装插件,GC结果如下
jmeter报错如下:
平常测试时需要注意这一块的东西,jmeter自身进行gc也会对结果产生影响,如果遇到内存溢出
可以增大堆的大小,平时压测时也尽量别使用察看结果树