今天访问我们自己的网站的时候有同事反映非常的慢,一开始怀疑是网络的问题。于是Ping了下我们自己的域名,发现延迟不高,只有30ms
而且也很稳定,然后又用traceroute试了试是否网关路由有问题,发现也没有问题。然后百度了下相关的解决方案,我整理了下。
首先我查看我的Apache服务器是否有开启KeepAlive,发现没有,然后在httpd.conf修改如下配置
KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15
然后修改Linux下的/etc/sysctl配置:
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,表示关闭。
然后执行 /sbin/sysctl -p 让参数生效。
再查的时候发现time wait已经降低很少了,再次访问我们的网站,果然快了很多。
这里有一篇文章写得很详细:http://www.linuxyw.com/a/tiaoyou/20130527/470.html
时间: 2024-09-30 11:50:22