减少TIME_WAIT时间的优化配置

减少TIME_WAIT时间的优化配置

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:

net.ipv4.tcp_max_syn_backlog=8192

增加TCP SYN队列长度,使系统可以处理更多的并发连接

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

#表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。

net.ipv4.tcp_keepalive_time = 1200

#表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。

net.ipv4.ip_local_port_range = 1024    65000

#表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。

net.ipv4.tcp_max_tw_buckets = 5000

#表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,

#TIME_WAIT套接字将立刻被清除并打印警告信息。默认为180000,改为5000。

#对于Apache、Nginx等服务器,上几行的参数可以很好地减少TIME_WAIT套接字数量,

#但是对于Squid,效果却不大。此项参数可以控制TIME_WAIT套接字的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死

时间: 2024-11-21 03:39:18

减少TIME_WAIT时间的优化配置的相关文章

nginx优化配置

在使用java web container的时候,我们都在前面挡一层nginx,方便使用各种nginx的功能,设置成代理. 访问特别多的时候发现,服务器上存在大量的TIME_WAIT状态的连接. 经分析,可能是nginx早期版本的upstream还是使用的1.0的短连接代理,java container老是以1.0的方式主动断开进入TIME_WAIT状态,浪费了大量的连接. netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,

apache2优化配置总结

apache2优化配置总结 运行和测试环境 Ubuntu server 12.04 LTS 配置参数调整 配置文件 一般在/etc/apache2/下    apache2.conf       conf.d/secrity     default.conf  下面我写到的配置参数都存在在这几个文件中 1.hostnamelookups  off 域名查找 开启这个会增加AP的负担, 减慢访问速度 建议关闭 2. sethandler server-status 关闭这个否则暴露信息. 3.al

Linux下jvm、tomcat、mysql、log4j优化配置

小菜一直对操作系统心存畏惧,以前也很少接触,这次创业购买了Linux云主机,由于木有人帮忙,只能自己动手优化服务器了.... 小菜的云主机配置大致为:centeos6(32位),4核心cpu,4G内存,5M独享带宽. 一.jvm内存优化方案. 要优化服务器,首先从jvm入手,分配好jvm内存,配置方案如下: declare -x JAVA_OPTS="-server -Xms1280M -Xmx1280M -Xmn512M -Xss1024k -XX:+AggressiveOpts -XX:+U

apache 优化配置 prefork模式

(一)prefork模式下(其他模式下不适用),apache需要优化的主要参数: ServerLimit 3000 StartServers 750 MinSpareServers 5 MaxSpareServers 100 MaxClients 3000 MaxRequestsPerChild 10000 首先来看看apache各个参数的意义(引号里引用的是官方文档的描述): (1)ServerLimit和MaxClients 服务器最大同时响应请求数 这个就是你当前配置的apache最大的并

WIN2003 IIS6.0+PHP+ASP+MYSQL优化配置

因为WINDOWS 2003 的 IIS 6.0 默认是没有安装开启对ASP的支持 这要我们手动去配置 这一步很简单 一 首先在控制面板里运行"添加删除程序" 选择安装IIS 6.0 安装后IIS 6.0就默认开启了对ASP的支持 如果发现未允许运行ASP 可按 A B C 步骤去开启A:在开始菜单-->程序-->"管理工具"里打开 IIS 6.0 选择 "WEB 服务扩展"B:点选 Active Server Pages 组件 和

对mysql的高并发优化配置的一些思考

对mysql的高并发优化配置的一些思考 mysql的高并发优化配置方案很多,但是适应你自己的就变得很少了,我们对数据库的优化,无非就是为了应对mysql的高并发情况罢了.随着大数据的时代的到来和网络用户的增多,很多企业中,可能每天应对的数量达百万,千万,甚至上亿的pv量,这样的量已经是超过普通配置的mysql所承受的量,所以应对日益增长的pv量,我们需要对mysql做出相应的对策,进一步优化mysql,达到我们所预期的效果,预防因为高并发所引起的mysql宕机,通过调试优化mysql,我们便可以

Nginx 服务并发过10万的Linux内核优化配置

以下Linux 系统内核优化配置均经在线业务系统测试,服务器运行状态良好,用了一些时间整理,现和大家分享一下,如有那位高人看到配置上有问题,请给与指出! Controls the use of TCP syncookies #表示开启重用.允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭: net.ipv4.tcp_syncookies = 1 #一个布尔类型的标志,控制着当有很多的连接请求时内核的行为.启用的话,如果服务超载,内核将主动地发送RST包. net

eclipse的使用、优化配置

工欲善其事,必先利其器 博客:http://blog.csdn.net/zhangerqing(转载请说明出处) 一.简介 eclipse可谓是Java开发界的神器,基本占据了大部分的Java开发市场,而且其官方还对其他语言提供支持,如C++,Ruby,JavaScript等等.为什么使用它?我想离不开下面的一些因素:1.开发界面简洁.大方.2.丰富的插件支持.3.为Java量身定做.4.及其人性化设计. 不得不说,eclipse是业界被广为认可的开发利器,所以,对于这么一款软件,我们必须要学会

Linux php.ini的安全优化配置

Linux php.ini的安全优化配置 (1) PHP函数禁用找到 disable_functions = 该选项可以设置哪些PHP函数是禁止使用的,PHP中有一些函数的风险性还是相当大的,可以直接执行一些CentOS系统级脚本命令,如果允许这些函数执行,当PHP 程序出现漏洞时,损失是非常严重的!以下我们给出推荐的禁用函数设置: disable_functions = phpinfo,passthru,exec,system,popen,chroot,escapeshellcmd,escap