一、环境
RHEL 6.5, Nginx 1.8.1
RHEL 6.5, Websphere 7.0
二、问题
1.nginx报错
connect() failed (110: Connection timed out) while connecting to upstream
2.压力大时,nginx服务器和was服务器有大量TIME_WAIT连接,达到几万
linux查看TCP连接数量
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
三、优化方法
1.nginx性能优化配置长连接
nginx反向代理upstream默认使用短连接,可以采用长连接,效果十分明显,TIME_WAIT只剩几百了
http://happyqing.iteye.com/blog/2384283
2.linux TCP参数优化
vi /etc/sysctl.conf 添加
net.core.somaxconn = 2048
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_timestamps = 0 #不验证时间戳
(如果有多台服务器,时间不一致,需要加上此参数,否则有的连接请求会被抛弃)
#立即生效
/sbin/sysctl -p
四、压测试机调整
产生压力的测试机(win7 )也会有大量的TIME_WAIT连接
windows查看TIME_WAIT连接
cmd
netstat -ano
netstat -ano > d:/port.txt 导出到文件
1、修改注册表中的tcpip的参数:TIMEWAIT回收时间
在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters,添加名为TcpTimedWaitDelay的DWORD键,设置为十进制1,以缩短TIME_WAIT的等待时间。
2.MaxUserPort 改为 65534
相关推荐
近期服务器出现大量time_wait的TCP连接造成服务器连接数过多而最终导致tomcat假死状态。连接服务器查看连接数的时候提示如下。 [root@test apache-tomcat-7.0.53]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a...
tcp连接是网络编程中最基础的概念,基于不同的使用场景,我们一般区分为“长连接”和“短...长短连接的优点和缺点这里就不详细展开了,有心的同学直接去google查询,本文主要关注如何解决tcp短连接的TIME_WAIT问题。
修改注册表中的tcpip的TIMEWAIT回收时间属性值,需要重启后生效 在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters,添加名为TcpTimedWaitDelay的DWORD键,设置为十进制0,以缩短TIME_WAIT...
减少Linux服务器过多的TIME_WAIT TIME_WAIT状态的意义: 客户端与服务器端建立TCP/IP连接后关闭SOCKET后,服务器端连接的端口 状态为TIME_WAIT 是不是所有执行主动关闭的socket都会进入TIME_WAIT状态呢? 有...
详细描述TCP的各个状态,初学者可以快速理解掌握tcp状态图
LINUX 大量TIME_WAIT状态的连接解决方法
linux c 网络编程 测试tcp连接的TIME_WAIT状态 非常适合于初学者
tcp连接出现close_wait状态?
netstat显示 TIME_WAIT 的原因及解决办法 netstat显示TCP连接进入TIME_WAIT状态的原因及解决办法
使用 TCP 快速回收:TCP 快速回收是一种优化网络性能的方法,可以在系统内核中设置,可以减少 TIME_WAIT 状态的存在时间。 使用网络优化软件:如果想要快速解决问题,可以使用专业的网络优化软件,例如 TCP ...
NULL 博文链接:https://bert82503.iteye.com/blog/2147899
3.3 timestack数据包-Wireshark3.4 内核协议栈相关主要源码Time_wait状态生成及快速回收相关代码:开启timestamps引起的丢
关于系统端口出现CLOSE_WAIT状态的解决方案,讲解明确清晰,值得参考
摘要视图订阅01.02.03.04.05.06.162149次第9644名99篇1篇0篇30条【Linux网络编程笔记】TCP短连接产生大量TIME_WAIT导
A time server, which brodcasts the time and users can sync their time with the server.
对于服务器挂起中的CLOSE_WAIT & FIN_WAIT2 解决方案。
此测试工具用于开发网络通讯程序时,在服务器或客户端测试TCP/UDP通讯连接和测试数据的接收和发送情况。
TCP/UDP测试工具,建立服务器和客户端,便可实现模拟通信
问题描述:在Linux系统中高并发的Squid服务器,TCP TIME_WAIT套接字数量经常达到两、三万,服务器很...vi /etc/sysctl.conf增加以下几行: 代码如下:net.ipv4.tcp_fin_timeout = 30net.ipv4.tcp_keepalive_time = 1200...