博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
web服务器time_wait值过高解决方案
阅读量:5962 次
发布时间:2019-06-19

本文共 1340 字,大约阅读时间需要 4 分钟。

     time_wait调优过程

                今天有同事反映说网站访问比较慢。登录web服务器查看一下:下面给出排错步骤

1、查看连接的访问状态:

注:

(1)、time_wait值显得有点高,太高了会暂用服务器端口。导致服务器无法响应。ddos一般都是这种情况

(2)、并发连接1689正常的值

(3)、syn_recv表示应该没收到ddoc的攻击,要是受到攻击的话,这个响应值应该很高。

2、查看一下系统开放多少个tcp端口:

[root@WEB005 ~]# cat /etc/sysctl.conf | grep port

net.ipv4.ip_local_port_range = 1024 65535

开放6万多个tcp端口,好像接近危险边缘了。

3、看一下系统允许打开的文件数:

[root@WEB005 ~]# ulimit  -n

102400

应该也不算这个问题了。

4、给内核调优:

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 让参数生效。

注释:

net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;

net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout = 30  修改系?默认的 TIMEOUT 时间 

5、保持之后过来蛮久还没有见改观。剩下最后一步:

上谷歌之后发现还要看一下这个值:tcp_timestamps=1

我这里默认是0.这样上面的意思是要是tcp_timestamps没有开启的话tw_recyle也是设置不生效的。但是这样有个问题,就是当我们前端是lvs 。使用NAT模型的适合是最好不要打开这个的。很容易照成网络问题。

执行:net.ipv4.tcp_timestamps = 1    #sysctl -p

6、再查看一下:

time_wait值过不了多久就降了好多。

#注:当有时候怀疑是攻击,用netstat命令很卡的适合可以用ss命令:速度很快

[root@WEB005 ~]# ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}'

SYN-SENT 2
SYN-RECV 1
ESTAB 2321
State 1
FIN-WAIT-1 1
TIME-WAIT 13698
LISTEN 6

本文转自 小罗ge11 51CTO博客,原文链接:http://blog.51cto.com/xiaoluoge/1588666,如需转载请自行联系原作者
你可能感兴趣的文章
Guava——使用Preconditions做参数校验
查看>>
iSCSI存储用作Proxmox VE的LVM共享存储
查看>>
网络营销——关键词竞争度分析
查看>>
Sonnet Suite Pro v11.52-ISO 1CD(三维高频电子设计)
查看>>
Fedora Core 6 刷新率超出范围解决方法
查看>>
linux网络
查看>>
我的友情链接
查看>>
linux 系统调优步骤 例
查看>>
显式方法与隐式方法
查看>>
Android防火墙+流量统计代码
查看>>
通知中心
查看>>
我的友情链接
查看>>
MVC中的三个模块
查看>>
Line: 220 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
查看>>
oracle 常用命令大汇总
查看>>
2012年春运火车票电话和网上订票技巧、攻略
查看>>
运维工程师的职责和前景
查看>>
Gcc编译流程解析
查看>>
根据request获取请求路径
查看>>
mysql 并行复制
查看>>