`
matt.u
  • 浏览: 129853 次
  • 性别: Icon_minigender_1
  • 来自: CQ
社区版块
存档分类
最新评论

CentOS TCP性能优化

阅读更多
在/etc/sysctl.conf中加入
fs.file-max = 65535
net.ipv4.ip_forward = 1

net.ipv4.tcp_fin_timeout = 30
如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。对端可以出错并永远不关闭连接,甚至意外当机。缺省值是60 秒。2.2 内核的通常值是180秒,你可以按这个设置,但要记住的是,即使你的机器是一个轻载的WEB服务器,也有因为大量的死套接字而内存溢出的风险,FIN- WAIT-2的危险性比FIN-WAIT-1要小,因为它最多只能吃掉1.5K内存,但是它们的生存期长些。

net.ipv4.tcp_max_syn_backlog = 10240
表示SYN队列的长度,默认为1024,加大队列长度为10240,可以容纳更多等待连接的网络连接数。

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

net.ipv4.tcp_synack_retries = 3
为了打开对端的连接,内核需要发送一个SYN并附带一个回应前面一个SYN的ACK。也就是所谓三次握手中的第二次握手。这个设置决定了内核放弃连接之前发送SYN+ACK包的数量

net.ipv4.tcp_syn_retries = 3
在内核放弃建立连接之前发送SYN包的数量。

net.ipv4.tcp_max_orphans = 8192

net.ipv4.tcp_max_tw_buckets = 5000
表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。默认为 180000,改为5000。对于Apache、Nginx等服务器,上几行的参数可以很好地减少TIME_WAIT套接字数量,但是对于Squid,效果却不大。此项参数可以控制TIME_WAIT套接字的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死。

net.ipv4.tcp_window_scaling = 0
支持更大的TCP窗口. 如果TCP窗口最大超过65535(64K), 必须设置该数值为1

net.ipv4.tcp_sack = 0
有选择的应答

net.ipv4.tcp_timestamps = 0
时间戳可以避免序列号的卷绕。一个1Gbps的链路肯定会遇到以前用过的序列号。时间戳能够让内核接受这种“异常”的数据包。这里需要将其关掉。使用时间戳将在(请参考RFC 1323)TCP的包头增加12个字节。

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.ip_local_port_range = 1024 65000
表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。

net.ipv4.icmp_echo_ignore_all = 0

更多信息可参考:
http://bkeep.blog.163.com/blog/static/123414290201041114414330/
http://bkeep.blog.163.com/blog/static/123414290201041110152732/
http://bkeep.blog.163.com/blog/static/123414290200911744644321/
http://my.debugman.net/program/unp-100.html
http://www.ibm.com/developerworks/cn/linux/l-hisock.html
http://blog.sina.com.cn/s/blog_50a736440100j023.html

可使用netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'来查看连接信息。
分享到:
评论

相关推荐

    CentOS系统参数优化.zip

    针对标题"CentOS系统参数优化",我们可以深入探讨如何通过调整CentOS操作系统的各项参数来优化其性能。这些优化工作通常涉及内核参数、JVM配置、数据库连接池以及网络服务如Nginx的设置。 首先,`sysctl.conf`是...

    Centos5服务器优化

    【Centos5服务器优化】是针对CentOS 5操作系统的一系列性能提升措施,旨在提高服务器的稳定性和效率。本文将详细介绍这些操作步骤。 首先,**系统环境部署与调整**是优化的基础。通过检查系统日志 `/var/log/...

    centos7.5线上系统基本优化.docx

    ### CentOS 7.5 线上...通过对CentOS 7.5的系统和内核进行上述优化配置,可以显著提升服务器的性能和安全性。需要注意的是,在实际应用中还需根据具体的业务场景和硬件条件灵活调整相关参数,以达到最佳的优化效果。

    PostgreSQL 性能优化宝典

    根据提供的文件内容,本文将详细介绍PostgreSQL性能优化的相关知识点。由于文件内容中包含了文档的目录结构和一些具体的优化实践操作,我们将从中提取重要的知识点进行阐述。 首先,文档的目录部分揭示了整个PPT的...

    CentOS解决服务器存在大量time_wait的问题

    在IT行业中,服务器性能优化是至关重要的,尤其是对于运行关键应用如Tomcat的服务器。本文主要探讨了如何解决CentOS服务器上存在的大量TIME_WAIT TCP连接问题,这可能导致服务器连接数过多,进而引起服务假死。当...

    CentOS 32位搭建squid http代理,解决TCP_MISS/503

    在IT行业中,网络代理服务器是实现网络访问控制和性能优化的重要工具之一,Squid就是其中的一款广泛应用的开源HTTP代理缓存服务器。本教程将详细讲解如何在32位的CentOS系统上搭建Squid HTTP代理服务器,以及如何...

    centos 6.5 系统优化,nginx加强版安装流程 带所有配件

    在本教程中,我们将深入探讨如何对CentOS 6.5系统进行优化,并详细阐述一个增强版的Nginx安装过程。这个流程包含了内核优化、Nginx的安装以及在过程中可能用到的文件安装包和YUM获取方法。让我们逐个了解这些关键...

    RoR性能优化经验谈

    然而,随着网站规模的增长,性能优化成为必不可少的环节。在本文中,我们将探讨一些RoR性能优化的关键方面,主要基于JavaEye网站在使用RoR过程中积累的实际经验。 首先,RoR性能优化涉及到多个层面,包括应用程序的...

    tcpreplay发包工具

    TCPreplay是一款强大的网络流量回放工具,主要应用于网络性能测试、故障排查和安全分析等领域。它允许用户将捕获的TCP/IP数据包(通常通过...熟悉并熟练使用TCPreplay,将极大地提升你的网络故障排查和性能优化能力。

    CentOS系统安装SQLServer教程

    - 安全性和性能优化也是非常重要的方面,建议进一步阅读官方文档来了解如何调整设置以满足特定需求。 通过以上步骤,您应该能够在CentOS系统上成功安装并配置SQL Server。这不仅有助于提高数据管理能力,还能为开发...

    Centos7 5.4.231 内核

    这个内核版本是Linux内核发展的一个稳定分支,它在性能优化、硬件支持和安全性方面都有显著提升。 首先,5.4内核系列引入了对许多新硬件的支持,包括新的处理器架构、网络设备、存储驱动等,这使得CentOS 7可以更好...

    centos_mysql

    在Linux系统,特别是CentOS操作系统中,为了优化MySQL数据库的性能,我们需要调整一系列的系统参数。这些参数的优化能够确保数据库高效运行,减少延迟,提高并发处理能力,并优化内存使用。以下将详细介绍其中的一些...

    CentOS7 挂载Windows Server2008 R2共享目录实例

    - **性能优化**:合理设置SMB/CIFS参数,如使用合适的认证方式、字符集等。 综上所述,CentOS7 挂载 Windows Server 2008 R2 共享目录的过程涉及到了服务器配置、客户端配置以及具体的挂载操作。通过遵循上述步骤,...

    rsyslog安装包适合centos6

    2. **高性能**:优化的内部数据结构和算法确保了即使在高负载下也能快速处理日志。 3. **安全功能**:rsyslog支持多种安全模型,包括验证、加密和访问控制,确保日志数据的安全。 4. **模块化设计**:rsyslog的...

    TCPOptimization:优化服务器TCP性能

    TCPOptimization 升级Linux Kernel,开启cake+bbr 1.升级Linux内核(触发重启) ...2.优化性能(升级后内核不稳定,需要手动重启) curl -sSL https://cdn.jsdelivr.net/gh/HXHGTS/TCPOptimization/TCPO.sh | sh

    centos7.4.1708 的tcpdump的rpm包及其依赖

    这对于网络性能优化、安全审计以及问题诊断非常有帮助。 在CentOS上安装TCPDump通常涉及以下步骤: 1. **启用额外的软件仓库**:有时,基础的CentOS仓库可能不包含TCPDump,因此需要启用像EPEL(Extra Packages ...

    CentOSLinux实时性配置要点翻译总结.pdf

    ##### 4.11 减少TCP性能峰值 - **调整TCP参数**:通过优化TCP配置来提高网络传输效率。 ##### 4.12 系统分区 - **合理规划磁盘分区方案**:确保关键数据和应用得到高效存储。 ##### 4.13 减少CPU性能峰值 - **优化...

    centos 6.3 最小安装系统下快速搭建环境步骤分享

    然后,安装用于性能优化的开发工具和库,如`gcc-c++`、`make`、`automake`和`autoconf`,以及相关开发头文件,如`curl-devel`、`libmcrypt-devel`等。这将确保系统可以编译和配置各种软件。 接下来,对系统内核...

    CentOS下Apache配置多域名或者多端口映射

    此外,对于安全性和性能方面的考虑也不可忽视,比如使用 SSL/TLS 加密、优化服务器资源利用等。 以上就是关于在 CentOS 下的 Apache 中配置多域名和多端口映射的详细指南。希望对大家有所帮助!

    muduo-0.2.4_CentOS_5.5

    "Muduo-0.2.4_CentOS_5.5"是一个专为 CentOS 5.5 操作系统优化的轻量级C++网络库,它基于反应器模式设计。这个版本解决了在 CentOS 5.5 上运行时可能出现的兼容性问题,确保了在旧版Linux环境中的稳定性和效率。 ...

Global site tag (gtag.js) - Google Analytics