1.Jmeter 短時間內跑大量請求報錯, 我是5台機器,每台20個線程,循環1000次,一共跑了10萬個請求,報錯如下。
原因應該是: linux 分配給客戶端連接的端口用盡,無法建立新的socket連接所致,雖然已經完成的socket關閉了,但是端口默認等待60s才會釋放,所以只要我們再多給點可用的端口就好了。
解決方法如下:
查看Linux支持的客戶端連接端口范圍命令:
cat /proc/sys/net/ipv4/ip_local_port_rangecat /proc/sys/net/ipv4/ip_local_port_range,60999-32768=28231 個ipv4端口可用。
1. 調低端口釋放后的等待時間, 默認為60s, 修改為15~30s。
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
2. 修改tcp/ip協議配置 tcp_tw_recycle :是否開啟快帶回收TIME_WAIT tcp連接的功能,快速回收socket資源, 默認為0否, 修改為1是.
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle
3. tcp_tw_resue 是否可以使用TIME_WAIT tcp連接用於建立新的tcp連接,默認為0否, 修改為1是。
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse