Rootop 服务器运维与web架构

Cannot assign requested address

代码连接数据库报错:

根据提示是说无法分配请求地址,这个问题随便一搜就知道是端口不足造成的。
查了下系统网络连接状态,发现是连接redis造成,没有使用redis连接池,导致大量time_wait连接状态没及时释放。再加上其他服务连接造成端口不足。

# 先通过修改内核参数解决,临时生效

sysctl -w net.ipv4.tcp_fin_timeout=30
sysctl -w net.ipv4.tcp_tw_reuse=1
sysctl -w net.ipv4.tcp_timestamps=1
sysctl -w net.ipv4.tcp_tw_recycle=1
# 增大可用源端口范围
sysctl -w net.ipv4.ip_local_port_range="10000 65000"

注意:
4.12内核版本开始移除了 tcp_tw_recycle 配置

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/4905.html

作者:Venus

服务器运维与性能优化

评论已关闭。