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 中读取的

     sysctl -p 重新加载 /etc/sysctl.conf 文件中的内容

3、官网给出的配置建议 

     https://gatling.io/docs/gatling/reference/current/general/operations/

 

posted @ 2021-07-08 19:52  itur  阅读(334)  评论(0)    收藏  举报