天天看点

Jmeter 分布式压测-易踩坑点

1、压测机

无论是从成本角度还是维护的难易方面,压测机的数量,适量就好。

举个例子,8C16G的一台服务器,部署Jmeter后,根据我个人的测试比对数据,配置≤1500个线程数,最好。太多了性能损耗较大,延时高;太少了又浪费。

controller与agent:模拟的并发线程数超过5K,建议留出一台做专门的controller机器,主要是避免agent机器数据上报带来的影响。

服务授权:如果压测启动和服务配置都是root权限,那么在linux环境下,需要给jmeter和jmeter-server授权,命令为

chmod 777 jmeter           
Jmeter 分布式压测-易踩坑点

2、服务通信

所有的压测机和被测服务,最好在同一个网段内,尽可能减少时延问题。

如果压测机在内网,而访问的请求地址(现在都是统一的网关域名)在外网,就要注意一点:内网到公网一般是有带宽限制的,最好在压测开始前和运维确认。

3、服务启动

压测机到位,服务授权配置好了,脚本也写好了,网络也没问题,那么如何在NGUI模式(即linux环境)下启动呢?

网上很多其他博客都写着利用命令 ./jmeter-server 启动压测服务,但这样有个缺点,只要服务连接中断,这个压测服务就不可用了。

但是以后台服务的形式启动agent机器的jemter-server,就不用担心服务不可用的问题,命令为 :

nohup sh jmeter-server &           
Jmeter 分布式压测-易踩坑点

压测启动的2种方式

指定压测机启动:

./jmeter -n -t /path/test.jmx -R 127.0.0.1,127.0.0.2           

启动所有压测机:

./jmeter -n -t /path/test.jmx -r           
Jmeter 分布式压测-易踩坑点

继续阅读