分布式部署:坑,大坑~ 超级坑~~~~

  在这里坑了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)--分布式部署的更多相关文章

  1. jmeter压力测试笔记- HTTP协议

    一.目标 使用jmeter进行HTTP接口压力测试: 命令行方式运行,方便在linux环境运行: 二.面临的问题 支持多环境测试(开发.测试.生产环境) 支持用户数据.线程数.循环次数等配置在运行时自 ...

  2. Jmeter压力测试笔记(6)性能调测-压力并发-模拟生产环境数据

    问题原因找到了,那就好办了. 找到阿里云技术人员,让他们强行给我们上架了一个共享代理模式的Redis. 并重新进行压力测试. 哦豁~ 开心,压力测试顺利,异常率大大降低实际为: 数据库DBA反馈,数据 ...

  3. Jmeter 压力测试笔记(2)--问题定位

    事情已经出了,是该想办法解决的时候了. 经过运维和DBA定位: 数据库读写分离中,读库延时超过了30秒,导致所有请求都压在主库.另外所有数据库都连接数都被占满,但活跃请求数量缺不多. 数据库16K的连 ...

  4. Jmeter 压力测试笔记(3)--脚本调试/签名/cookie/提升吞吐量/降低异常率/提升单机并发性能

    import XXXsign.Openapi2sign;---导入jar包中的签名方法 String str1 = "12121"; ---需要被签名的字段:向开发了解需要哪些哪些 ...

  5. Jmeter压力测试笔记(5)问题原因

    压测链路是jmeter=>slb=>nginx => php=>rds 报 Too Many Connections 的原因是前端同时保持了 16000 个连接,达到实例规格的 ...

  6. Jmeter 压力测试笔记(1)--服务器迁移失败

    近期,公司服务器因技术架构升级等原因需要迁移,在经过开发,运维DBA,测试多部门进行联合讨论后,制定出了迁移方案.迁移前也对APP应用进行了各种测试,并没有发现问题. 凌晨2点开始迁移,5点完成迁移. ...

  7. JMeter压力测试,http请求压测,5分钟让你学会如何压测接口!

    JMeter压力测试 官网:https://jmeter.apache.org 最新款的jmeter需要java8的支持,所以请自行安装jdk8.这里就不啰嗦了. 可以根据自己的系统下载zip或者是t ...

  8. JMeter压力测试以文件的形式

    JMeter压力测试入门教程[图文] 1. 下载JMeter 2. 启动JMeter 3. 运行预准备 4. 运行 文章目录 Apache JMeter是Apache组织开发的基于Java的压力测试工 ...

  9. jmeter 压力测试

    转自: https://blog.csdn.net/cbzcbzcbzcbz/article/details/78023327 Jmeter压力测试简单教程(包括服务器状态监控) 2017年09月18 ...

随机推荐

  1. docker报错Error response from daemon: driver failed programming external connectivity on endpoint *

    服务端 通常会显示 port xxx allocated的,意思就是 xxx 端口被占用了. 如果报port allocated端口占用,就docker ps 查看正使用的镜像,docker kill ...

  2. cooke和session

    一.装饰器要加入funtools.wrap装饰 保留函数的元数据(函数名/注释) 1.装饰器 def wrapper(f): def inner(*args,**kwargs): return f(* ...

  3. Python基础数据类型2

    lst.extend([1,2,3]) # 扩展 --- 迭代添加 整型和布尔值不能迭代print(lst) lst1 = [1,2,3]lst2 = [4,5,6]lst3 = lst1 + lst ...

  4. 聊聊order by rand()

    总结写在前面: 1. 不建议直接使用order by rand(),原因是执行代价比较大 2. 介绍了内存临时表,对于内存临时表,由于回表不需要访问磁盘,所以往往是用rowid排序,可以减少参与排序字 ...

  5. fatal: I don't handle protocol 'git@http' 解决

    新建的git,在git push的时候遇到了报错“fatal: I don't handle protocol 'git@http'” 网上搜这个错误基本都是“fatal: I don't handl ...

  6. Untargeted lipidomics reveals specific lipid abnormality in nonfunctioning human pituitary adenomas 非靶向脂质组学揭示非功能人类脑垂体瘤中的特异性脂质 (解读人:胡丹丹)

    文献名:Untargeted lipidomics reveals specific lipid abnormality in nonfunctioning human pituitary adeno ...

  7. 用docker搭建selenium grid分布式环境实践之路

    最近需要测试zoom视频会议,同时模拟100个人加入会议.经过了解,zoom提供了直接通过url链接加入会议的方式(只能通过chrome浏览器或者FireFox浏览器,因为用的协议是webrtc). ...

  8. python 清空list的几种方法

    本文介绍清空list的四种方法,以及 list=[ ] 和 list.clear() 在使用中的区别(坑). 1.使用clear()方法 lists = [1, 2, 1, 1, 5] lists.c ...

  9. (原)Non-local Neural Networks

    转载请注明出处: 论文: https://arxiv.org/abs/1711.07971 第三方pytorch代码: https://github.com/AlexHex7/Non-local_py ...

  10. OpenCV-Python BRIEF(二进制的鲁棒独立基本特征) | 四十二

    目标 在本章中,我们将看到BRIEF算法的基础知识 理论 我们知道SIFT使用128维矢量作为描述符.由于它使用浮点数,因此基本上需要512个字节.同样,SURF最少也需要256个字节(用于64像素) ...