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

本文共 1266 字,大约阅读时间需要 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

转载地址:http://jymax.baihongyu.com/

你可能感兴趣的文章
hdu4405 掷骰子走格子
查看>>
我的友情链接
查看>>
from_子句-内连接-左连接-右连接
查看>>
我的友情链接
查看>>
Spring MVC 数据回显
查看>>
(三)Redis两种持久化方案
查看>>
我的友情链接
查看>>
KVM 管理与使用说明
查看>>
JavaSE_1 基本概念
查看>>
ELK实时日志分析平台环境部署--完整记录
查看>>
struts2上传多文件(b)
查看>>
mycat核心配置详解(schema.xml配置)
查看>>
201621123015《Java程序设计》第11周学习总结
查看>>
lamp的源码安装
查看>>
我的友情链接
查看>>
FastDFS安装脚本
查看>>
2M知识汇总
查看>>
定时重启IIS
查看>>
原生javascript效果:无缝滚动
查看>>
Essential Chart for ASP.NET MVC商业图表控件相关介绍及下载
查看>>