jmeter分布式压测
- stop.sh需要跑Jmeter的服务器上安装Jmeter
yum install lrzsz 安装rz、sz命令
rz jemter的压缩包 拷贝到/usr/local/tools下面
unzip apache-jmeter-3.0.zip 解压 - 权限修改
chmod 777 * 修改权限 - 时间修改
ntpdate s2m.time.edu.cn 同步到服务器
或者 ntpdate time.nist.gov
时间不一致生成报表会有问题
本机Window是的时间修改(与时间服务器同步):w32tm /resync
- 使用分布式压测,把linux的jmeter-slave机器时,如果并发量大,可能出现java.net.NoRouteToHostException的错误,经过排查,原因是tcp的连接满了,且大量都处于TIME_WAIT状态,可理解为资源浪费。因此需要打开tcp连接回收和重用机制,使tcp资源利用最大化,使用以下2个命令:
echo 1 | sudo dd of=/proc/sys/net/ipv4/tcp_tw_recycle
echo 1 | sudo dd of=/proc/sys/net/ipv4/tcp_tw_reuse - 为了统一jmeter的目录和使用方法,我们测试人员应该务必使用相同的部署方式,如下:
7.1 如果是基于linux的系统,则jmeter目录放置为/usr/local/tools/apache-jmeter-3.0
7.2 为了方便启用,统一时间等各种因素,统一使用自定义的shell脚本启用jmeter-server, shell脚本为remote.sh,放置在/usr/local/tools/目录下,如果目录下没有该脚,则可直接vi编辑并创建该文件,文件内容如下:
ntpdate s2m.time.edu.cn
echo 1 | sudo dd of=/proc/sys/net/ipv4/tcp_tw_recycle
echo 1 | sudo dd of=/proc/sys/net/ipv4/tcp_tw_reuse
./stop.sh jmeter
/usr/local/tools/apache-jmeter-3.0/bin/jmeter-server -Djava.rmi.server.hostname=【肉鸡的局域网ip】7.3 stop.sh脚本为自定义的shell脚本,用来根据进程名模糊匹配并批量结束所有匹配进程,放置在/usr/local/tools/目录下,如果目录下没有该脚本,则可直接vi编辑并创建该文件,文件内容如下:
if [ $# -lt 1 ]
then
echo "缺少参数:procedure_name"
exit 1
fiPROCESS=`ps -ef|grep $1|grep -v grep|grep -v PPID|awk '{ print $2}'`
for i in $PROCESS
do
echo "Kill the $1 process [ $i ]"
kill -9 $i
done - 本地Jmeter/bin中修改jmeter.properties
remote_hosts=127.0.0.1:1099,172.16.103.121:1099,172.16.103.122:1099
启动Jmeter,查看是否启动成功
注意:
- 把查看结果树禁用掉就可以实时查看结果并且不卡

2. 如果连不上远程服务器,可以用telent ip port命令看看是否能连接到远程服务器
3. 由于Java内存不够Jmeter启动不起来,可以改Jmeter.bat文件中这几个值要所需内存改小点
rem See the unix startup file for the rationale of the following parameters,
rem including some tuning recommendations
set HEAP=-Xms2096m -Xmx3096m
set NEW=-XX:NewSize=504m -XX:MaxNewSize=2048m
set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%
set TENURING=-XX:MaxTenuringThreshold=2
rem Java 8 remove Permanent generation, don't settings the PermSize
if %current_minor% LEQ "8" (
rem Increase MaxPermSize if you use a lot of Javascript in your Test Plan :
set PERM=-XX:PermSize=1024m -XX:MaxPermSize=2048m
)
4. jmeter-server启动报如下错误
[root@localhost bin]# ./jmeter-server
Writing log file to: /usr/local/tools/apache-jmeter-3.0/bin/jmeter-server.log
Created remote object: UnicastServerRef [liveRef: [endpoint:[172.16.103.122:60185](local),objID:[-27de3c76:157d730479f:-7fff, 6191893519130640874]]]
Problem creating registry: java.rmi.server.ExportException: Port already in use: 1099; nested exception is:
java.net.BindException: Address already in use
Continuing...
Starting the test on host 172.16.103.122:1099 @ Tue Oct 18 17:48:26 CST 2016 (1476784106546)
Finished the test on host 172.16.103.122:1099 @ Tue Oct 18 17:48:28 CST 2016 (1476784108627)
原因:端口已被占用
ps -ef | grep 1099 查看占用端口的PID
kill -9 PID

5. 如果压测数据放在文件里,需要把文件上传到肉机,文件路径需要用相对路径

本机启动在jmx所在目录下启动
肉机上放在Jmeter-Server下的data文件夹里,在重启jmeter-server
linux命令如下:
979 cd /usr/local/
980 pwd
981 ll
982 mkdir tools
983 cd tools
984 rz
985 ll
986 unzip apache-jmeter-3.0.zip
987 LL
988 ll
989 rm apache-jmeter-3.0.zip
990 ll
991 cd apache-jmeter-3.0/
992 chmod 777 *
993 ntpdate s2m.time.edu.cn
994 cd bin
995 more jmeter-server
996 ifconfig
997 vi jmeter-server
998 ./jmeter-server
999 chmod 777 *
1000 ./jmeter-server
1001 cd /usr/local/tools
1002 ll
1003 cd apache-jmeter-3.0/
1004 cd bin/
1005 ll
1006 ./jmeter-server
jmeter分布式压测的更多相关文章
- jmeter 分布式压测(windows)
单台压测机通常会遇到客户端瓶颈,受制于客户机的性能.可能由于网络带宽,CPU,内存的限制不能给到服务器足够的压力,这个时候你就需要用到分布式方案来解决客户机的瓶颈,压测的结果也会更加接近于真实情况. ...
- 压力测试(八)-多节点JMeter分布式压测实战
1.Jmeter4.0分布式压测准备工作 简介:讲解Linux服务器上jmeter进行分布式压测的相关准备工作 1.压测注意事项 the firewalls on the systems are tu ...
- JMeter分布式压测实战(2020年清明假期学习笔记)
一.常用压力测试工具对比 简介:目前用的常用测试工具对比 1.loadrunner 性能稳定,压测结果及颗粒度大,可以自定义脚本进行压测,但是太过于重大,功能比较繁多. 2.Apache ab(单接口 ...
- jmeter分布式压测对master、slave防火墙配置
首先要了解jmeter分布式压测的基础概念:master为统计结果的服务器,slave为各台压力机,如下图所示 一.结论 针对master 1.修改jmeter.properties的client.r ...
- jmeter 分布式压测(Linux)
之前一篇博文写的是如何在Linux上使用jmeter压测,这篇介绍下Linux上jmeter的分布式压测. 和windows上的分布式类似,需要配置agent节点和控制机 一.Agent节点配置 1. ...
- JMeter——分布式压测
一.Jmeter4.0分布式压测准备工作 压测注意事项 the firewalls on the systems are turned off or correct ports ...
- Jmeter分布式压测实战及踩坑处理(含参数化)
项目中使用Jmeter进行大并发压测时,单机受限内存.CPU.网络IO,会出现服务器压力还没有上 去,但压测服务器由于模拟的压力太大死机的情况.JMeter的集群模式可以让我们将多台机器联合起来 一起 ...
- jmeter分布式压测原理简介1
1.什么叫分布式压测? 分布式压测:模拟多台机器向目标机器产生压力,模拟几万用户并发访问 2.分布式压测原理:如下 3.更多补充.....待添加
- jmeter分布式压测 java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)
解决办法:1.控制机和代理机:修改jmeter.properties中server.rmi.ssl.disable=true 不启动SSL2.控制机和代理机: Slave(从压力机)启动jmeter- ...
随机推荐
- DBMS 的个人理解
再看自己数据库时,感觉还是有点迷茫:数据库到底是怎们工作的呢?虽然之前把代码都弄了一遍,可是效果还是不太理想. 数据库到底是怎么连到用户的程序上的呢?它的内部到底是怎么运行的呢?我研究了一段时间,获得 ...
- NSMutableAttributedString
开发过程中,经常会遇到动态计算行高的问题, - (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)op ...
- .Net程序员学用Oracle系列(16):访问数据库(ODP.NET)
1..Net for Oracle 常见数据库驱动 1.1.微软提供的驱动 1.2.甲骨文提供的驱动 1.3.其它厂商提供的驱动 2.ODP.NET 常见问题分析 2.1.参数化问题 2.2.方法调用 ...
- 使用fliter实现ie下css中rgba的效果
直接举例吧background-color: rgba(255,255,255,0.8); 设置背景颜色为白色,不透明度设为80% 在ie下可以用fliter这一属性进行设置: filter:prog ...
- C# 添加、获取及删除PDF附件
C# 添加.获取及删除PDF附件 前言 附件在PDF文档中很常见,这些附件可以是PDF或其他类型的文件.在PDF中,附件有两种存在方式,一种是普通的文件附件(document-level file a ...
- python - bilibili(二)出错的解决办法
在获取房间号之前我们先解决上篇文章遗留的bug,即输入的房间号不是数字和对应的房间号不存在而产生的问题. 输入的房间号不是数字: 在python中,你所输入的必定是字符串,虽然你输入的是数字,但是类型 ...
- SCP实现无需密码传输文件
SCP概述 Linux为我们提供了两个用于文件copy的命令,一个是cp,一个是scp,但是他们略有不同 CP ----- 主要是用于在同一台电脑上,在不同的目录之间来回copy文件 SCP --- ...
- 查看hive中某个表中的数据、表结构及所在路径
查看hive中action_data_myisam表中的数据.表结构及所在路径 1.客户端进入hive环境:hive 2.查看表数据,鉴于数据量大,这里只显示前五条:select * from act ...
- 【Java每日一题】20170308
20170307问题解析请点击今日问题下方的"[Java每日一题]20170308"查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; ...
- find、findIndex、indexOf、lastIndex、includes 数组五种查询条件方法介绍
find() 方法返回数组中满足提供的测试函数的第一个元素的值. 语法: arr.find(callback[, thisArg]) findIndex()方法返回数组中满足提供的测试函数的第一个元素 ...