在对socket服务器进行性能测试的时候,发现客户端机器在连续发送大量请求(30000个请求)时,最后的几千条请求总会报[Errno 99] Cannot assign requested address
,原因是没有多余的端口可分配,可以如此验证:
- 执行
cat /proc/sys/net/ipv4/ip_local_port_range
,会输出可分配的端口范围 - 减少其范围,执行:
echo 32768 32769 > /proc/sys/net/ipv4/ip_local_port_range
,这时仅发起几个请求就会报[Errno 99] Cannot assign requested address