哈尔滨专业做网站推广,哪个视频网站做视频赚钱的,网站做访问追踪,文登南海建设局网站为什么要分布式
jmeter是100%纯java开发的程序#xff0c;虚拟用户是以线程实现的#xff0c;在大量并发情况下#xff0c;很容易出现CPU、内存消耗过大的问题#xff0c;甚至会出现java内存溢出。一般一台电脑设置500-600线程数即可#xff0c;如果超过1000线程#xf…为什么要分布式
jmeter是100%纯java开发的程序虚拟用户是以线程实现的在大量并发情况下很容易出现CPU、内存消耗过大的问题甚至会出现java内存溢出。一般一台电脑设置500-600线程数即可如果超过1000线程单机电脑就有点过高了同时也还要关注本机电脑CPU、内存不能超过80%~90%的范围否则会导致测试机本身的性能瓶颈测试结果也会不准确。
分布式测试原理
总控机器的节点Jmeter controller其他产生压力的机器叫“肉鸡”Jmeter servercontroller会把脚本发送到Jmeter server上,肉鸡不需要准备jmx文件执行的时候server上只需要把jmeter-server打开就可以了不用启动jmeter执行结束后server会把压测数据回传给controller然后controller汇总输出报告注意必须保证主机和肉鸡安装相同的jdk和jmeter 环境部署
准备机器: 安装示例:
# 所有机器都需要安装
apt-get update --fix-missing # 更新源
apt-get install openjdk-8-jdk # 安装jdk
cd /opt
tar -xvf apache-jmeter-5.6.2.tgz # 假设已经下载了对应版本到该目录
vim /etc/profile # 将jmeter追加到系统环境变量export JMETER_HOME/opt/apache-jmeter-5.6.2export PATH$JMETER_HOME/bin:$PATH
source /etc/profile # 生效检查java环境 检查jmeter环境 更改配置文件 master机 进入/opt/apache-jmeter-5.6.2/bin 目录按以下配置修改jmeter.properties配置文件 注remote_hosts 为执行机的ip及端口多个执行机可通过英文逗号 “,” 进行拼接 server.rmi.ssl.disabletrue(关闭SSL传输 slave机 进入/opt/apache-jmeter-5.6.2/bin 目录修改jmeter.properties配置文件, 只需将server.rmi.ssl.disabletrue即可
运行
slave机 进入/opt/apache-jmeter-5.6.2/bin运行jmeter-server master机 jmeter -n -t ./sfs.jmx -l ./result.jtl -j ./result.log -r
注意事项
进行性能测试前尽量对Jmeter进行减负避免运行时间过长导致Jmeter卡死 (1)并发线程不要设置太高建议单机300以下 (2)“察看结果树”勾选“仅日志错误”尽可能减少jvm内存使用 3在压测时要禁用诸如View Result Tree这类的监听器这类监听器非常耗内存 4用jmeter测试时使用BeanShell脚本获取随机参数值会导致请求时间过长TPS过低。应改为使用csv读取参数值记录的TPS会更加准确Master与各Slave使用的Java、jmeter版本保持一致若测试计划中引用了某插件则Master与各Slave都要包含该插件测试计划只需要放在Master上执行时会自动分发到各Slave不需要每台Slave复制一份