Gatling 发送请求失败
1、问题描述:
运行脚本后请求批量失败,错误信息为: j.n.ConnectException: connect(..) failed: Cannot assign requested address
刚开始以为是大量请求,服务端处理不过来,但是查看NGINX、和后台服务连接数只有100出头,最大连接远比这大
然而查看执行机连接数,大量 "TIME_WAIT" 状态连接,"ESTABLISHED"状态的很少

netstat -nat | grep -i 80 | wc -l
netstat -nat | grep WAIT_TIME | wc -l
netstat -nat | grep ESTABLISHED| wc -l
wc -l 即 连接数统计
查看各状态连接情况: netstat -ant |awk 'NR>2{print $6}'|sort|uniq -c|sort -rn
2、解决方案:连接复用、或者设置TIME_WAIT连接回收
连接复用:sysctl -w net.ipv4.tcp_tw_reuse=1
连接回收:sysctl -w net.ipv4.tcp_tw_recycle=1
前提是 net.ipv4.tcp_timestamps=1,默认值就是1
sysctl -a | grep net.ipv4.tcp_tw_reuse 进行查看
sysctl -a | -w 显示|编辑 /proc/sys 下的内容,服务器重启时从 /etc/sysctl.conf 中读取的
3、官网给出的配置建议
https://gatling.io/docs/gatling/reference/current/general/operations/

浙公网安备 33010602011771号