Jmeter 压力测试笔记(4)--分布式部署
分布式部署:坑,大坑~ 超级坑~~~~
在这里坑了2天,整整2天。其它略过不表下面只写经验:
在linux下,centos7系统 1主 14执行机。 jmeter版本 5.2.1 所有机器在同一个内网。
分布式部署时需要修改的配置:
1,执行机:
在官方下载原始zip包后,修改 bin 目录下:
jmeter.properties 中 文件参数 【 server.rmi.ssl.disable=true】 关闭SSL验证
jmeter-server 文件中 【RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.71.39】 修改IP地址为执行机本身IP---即通过ipconfig或ifcofnig查询得到的地址。 每个执行机都不一样。
2,JDK:尽量使用同一版本JDK。 一般大版本同样基本都行。但不确定。 jmeter 5.2.1配1.8 JDK
3,在目录下创建 ApiTest_CSV;ApiTest_log;ApiTest_Script;目录方便用来执行脚本,保存结果数据。
4:调度机: 调度机的配置要求可以不用太高2C4G一般就够用。
调度机需要修改的配置:
远程执行机IP配置:jmeter.properties 文件中 【remote_hosts=127.0.0.1】 修改ip地址为执行机ip地址。用逗号隔开。
server_port=1099:启用默认端口
如果需要配置其它端口,在ip后面带上 127.0.0.1:1099, 默认端口1099
jmeter.properties 中 文件参数 【 server.rmi.ssl.disable=true】 关闭SSL验证
jmeter-server文件中:RMI_HOST_DEF=-Djava.rmi.server.hostname=127.0.0.1 不进行修改
5:修改执行机使用的JVM内存:
网上有很多修改配置文件的方法,但我不太喜欢用。加上这次压力测试,并没做成持续集成。所以我喜欢使用命令的方式来进行设置:
【JVM_ARGS="-Xms1024m -Xmx3500m" ./jmeter-server】 设置内存为3500M---实际并发时发现大概1个线程会消耗3M的内存(并不通用)。所以具体配置多少内存看你的线程数量。 建议配置的内存大小不超过机器内存总量的一般,否则可能会卡会慢。
这些都配置好以后:在windows上修改好jmx脚本后,就可以放到 调度机上来执行啦~
执行命令:
【jmeter -n -t "/home/tst/ApiTest_Script/move_0406_1200TPS_moreUser.jmx" -l /home/tst/ApiTest_log/0410.csv -r 】 可以加 【&】 符号在后台执行。
停止命令: 在jmeter /bin 目录下 执行 ./stoptest.sh;
强制杀死 ./shutdown.sh
结果显示输出: 异常率高:经过排查,是连接响应超时:在服务器端并未受到这些丢失的请求。具体原因还未排查到。 可能与前端nginx配置有关系。也可能被拒绝了。---(问题已经找到,阿里云服务器开启了独享代理模式,导致NGINX与数据库之间连接同步,使用了长连接模式,导致数据库连接不释放。坑,真坑。)
Jmeter 压力测试笔记(4)--分布式部署的更多相关文章
- jmeter压力测试笔记- HTTP协议
一.目标 使用jmeter进行HTTP接口压力测试: 命令行方式运行,方便在linux环境运行: 二.面临的问题 支持多环境测试(开发.测试.生产环境) 支持用户数据.线程数.循环次数等配置在运行时自 ...
- Jmeter压力测试笔记(6)性能调测-压力并发-模拟生产环境数据
问题原因找到了,那就好办了. 找到阿里云技术人员,让他们强行给我们上架了一个共享代理模式的Redis. 并重新进行压力测试. 哦豁~ 开心,压力测试顺利,异常率大大降低实际为: 数据库DBA反馈,数据 ...
- Jmeter 压力测试笔记(2)--问题定位
事情已经出了,是该想办法解决的时候了. 经过运维和DBA定位: 数据库读写分离中,读库延时超过了30秒,导致所有请求都压在主库.另外所有数据库都连接数都被占满,但活跃请求数量缺不多. 数据库16K的连 ...
- Jmeter 压力测试笔记(3)--脚本调试/签名/cookie/提升吞吐量/降低异常率/提升单机并发性能
import XXXsign.Openapi2sign;---导入jar包中的签名方法 String str1 = "12121"; ---需要被签名的字段:向开发了解需要哪些哪些 ...
- Jmeter压力测试笔记(5)问题原因
压测链路是jmeter=>slb=>nginx => php=>rds 报 Too Many Connections 的原因是前端同时保持了 16000 个连接,达到实例规格的 ...
- Jmeter 压力测试笔记(1)--服务器迁移失败
近期,公司服务器因技术架构升级等原因需要迁移,在经过开发,运维DBA,测试多部门进行联合讨论后,制定出了迁移方案.迁移前也对APP应用进行了各种测试,并没有发现问题. 凌晨2点开始迁移,5点完成迁移. ...
- JMeter压力测试,http请求压测,5分钟让你学会如何压测接口!
JMeter压力测试 官网:https://jmeter.apache.org 最新款的jmeter需要java8的支持,所以请自行安装jdk8.这里就不啰嗦了. 可以根据自己的系统下载zip或者是t ...
- JMeter压力测试以文件的形式
JMeter压力测试入门教程[图文] 1. 下载JMeter 2. 启动JMeter 3. 运行预准备 4. 运行 文章目录 Apache JMeter是Apache组织开发的基于Java的压力测试工 ...
- jmeter 压力测试
转自: https://blog.csdn.net/cbzcbzcbzcbz/article/details/78023327 Jmeter压力测试简单教程(包括服务器状态监控) 2017年09月18 ...
随机推荐
- DBProxy快速入门
1. DBProxy安装 1.1 安装依赖项 CentOS yum install -y Percona-Server-devel-55.x86_64 Percona-Server-client-55 ...
- OFD电子证照模版制作工具 --(采用wpf开发)
前言 ofd应用的范围非常广,电子证照是其中非常重要的一个应用.同一类电子证照具有相同的板式.元数据:所以电子证照非常适合用模版来制作.模版就是板式样式固定,每个具体的证照只是文字或图片内容不同.比 ...
- vue基础----组件通信($parent,$children)
1.按照dom的父子级关系,在子组件中可以通过$parent 直接调用父组件的方法,也可得到父组件的属性. 2.在父组件中通过$childrens可以得到一个子组件数组,能够在父组件中调用子组件的方法 ...
- cat、head、sed 三盟友
在linux 中我们必不可少的会使用到这三个命令 他们有什么作用呢? 就是查看文档了,但他的功能远不止于此 来我们学习一下吧 cat [root@ESProbe ~]# cat --help Usag ...
- Requests库发送post请求,传入接口参数后报JSON parse error
报错信息: {"timestamp":"2020-01-08T14:42:40.894+0000","status":400,"e ...
- Angular2入门(一)
原先用vue.js写的项目,最近领导要求改用Angular,于是开始自学之路.网上搜索了众多资料,包括谷歌原版书籍,但是Angular自从17年开始分为AngularJs和Angular两个版本,相差 ...
- 题解 P1305 【新二叉树】
好像没有人搞\(\color{green}map\)反映,没有人用\(\color{green}map\)反映搞并查集! \(\color{green}map\)第一个好处是作为一个数组,可以开很大! ...
- 基于树莓派与YOLOv3模型的人体目标检测小车(一)
项目介绍: 本科毕业选的深度学习的毕设,一开始只是学习了一下YOLOv3模型, 按照作者的指示在官网上下载下来权重,配好环境跑出来Demo,后来想着只是跑模型会不会太单薄,于是想了能不能做出来个比较实 ...
- matplotlib.pyplot.text
matplotlib.pyplot.text(x, y, s, fontdict=None, withdash=<deprecated parameter>, **kwargs)[sour ...
- office的高级应用
Word高级应用:设置斜线表头(一根:边框:多根:插入形状,按住鼠标拖动). 注意:1.用好样式功能 2.大量重复工作懂得批量处理 3.反复要做的固定操作固化成“模板”“套路” 4.碰到异常情况,知道 ...