在Tsung进行并发测试的时候,Tsung的报告中可能出现error_connect_eaddrinuse错误,用netstat -antp 可以看到大量处于TIME_WAIT状态的链接,处于TIME_WAIT状态的链接需要等待2MSL才能关闭,很快系统就没有Socket可用了。可以通过修改内核参数来解决。
vi /etc/sysctl.conf
编辑文件,加入以下内容:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
然后执行 /sbin/sysctl -p 让参数生效。
在测试的时候可以通过观察负载机的日志来确定有没有错误发生,如果负载机日志文件大小不停增长,就说明有大量的错误发生。