`
willvvv
  • 浏览: 334107 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

对Linux下TCP连接相关配置的优化记录

阅读更多

1.Linux系统设置优化,vi /etc/sysctl.conf,添加以下内容

fs.file-max = 65535
kernel.pid_max = 65536
 
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_timestsmps = 0
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65535
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000

net.ipv4.tcp_wmem = 8192 436600 873200
net.ipv4.tcp_rmem  = 32768 436600 873200
net.ipv4.tcp_mem = 94500000 91500000 92700000
net.ipv4.tcp_max_orphans = 3276800


net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

 

保存后:
sysctl -p /etc/sysctl.conf        // 作用:重新载入/etc/sysctl.conf文件

 

相关参数说明如下:

# TCP and memory optimization
# increase TCP max buffer size setable using setsockopt()
#it's already auto-tuned very well by Linux based on the amount of RAM.
#net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 87380 8388608
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
#表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_syn_backlog = 65536
#表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_syncookies = 1
#表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1
#表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1
#修改系統默认的 TIMEOUT 时间。
net.ipv4.tcp_fin_timeout = 30
#表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
net.ipv4.tcp_keepalive_time = 1200
#表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为10000到65000。(注意:这里不要将最低值设的太低,否则可能会占用掉正常的端口!)
net.ipv4.ip_local_port_range = 10000 65000
#表示系统同时保持TIME_WAIT的最大数量,如果超过这个数字,TIME_WAIT将立刻被清除并打印警告信息。默 认为180000,改为6000。对于Apache、Nginx等服务器,上几行的参数可以很好地减少TIME_WAIT套接字数量,但是对于 Squid,效果却不大。此项参数可以控制TIME_WAIT的最大数量,避免Squid服务器被大量的TIME_WAIT拖死。
net.ipv4.tcp_max_tw_buckets = 6000

 

2.修改操作系统的ulimit 限制,vi /etc/security/ ,增加如下两行(具体数值大点小点问题不大):

*  soft  nofile 65535
*  hard  nofile 65535
 

3.关于ulimit命令参考:http://www.ibm.com/developerworks/cn/linux/l-cn-ulimit/

 

 

 

分享到:
评论

相关推荐

    追踪linux TCP/IP 代码运行_光盘文件1

    要追踪Linux TCP/IP代码的运行,需要深入了解TCP/IP协议的工作原理、Linux内核编程以及相关的调试工具。这里我们将主要围绕以下几个知识点进行深入探讨: 1. **TCP/IP协议栈结构**:TCP/IP协议栈通常分为四层(在...

    LINUX 服务器端PHP客户端 TCP 聊天程序

    1. **创建连接**:使用`fsockopen()`指定服务器地址和端口,建立TCP连接。 2. **发送数据**:将用户输入的数据通过`fwrite()`发送到服务器。 3. **接收响应**:使用`fgets()`从服务器读取返回的消息。 4. **关闭连接...

    tcp.zip_9260_LINUX TCP

    3. **TCP协议模块(TCP Module)**:处理TCP连接的建立、维护和释放,以及数据的排序、错误检测和恢复。 4. **网络接口层(Network Interface Layer)**:将TCP数据段封装成适合物理网络的帧,然后通过网卡发送出去...

    tcp连接跟踪安装包自取

    压缩包文件名“tcpzong”可能是提供了一些与TCP连接跟踪相关的工具或配置文件。要使用这个压缩包,你需要先解压,然后根据解压后的文件内容来执行相应的操作。这可能包括脚本、配置文件或可执行程序,具体用途需根据...

    Linux,Tcp多人聊天服务端

    在IT领域,构建一个Linux上的Tcp多人聊天服务端是一项常见的任务,它涉及到网络编程、并发处理和多用户交互等核心概念。在这个项目中,我们主要关注的是如何在Linux(CentOS 6.7)系统上使用C++语言来实现一个支持多...

    Tcp___Server.zip_c++ tcp server_linux tcp server_tcp c++_tcp ser

    在实际项目中,一个完整的TCP服务器可能还会涉及日志记录、配置文件读取、错误处理、性能优化等高级话题。对于初学者,理解并实现一个简单的TCP服务器是学习网络编程的良好起点。通过阅读和分析Tcp___Server.txt文件...

    linux写的基于epoll技术的socket tcp服务器,数据库采用mysql.zip

    这个项目展示了如何在Linux环境下利用epoll、TCP套接字和线程池技术构建一个高效、可扩展的服务器,并结合MySQL数据库进行数据管理。对于学习和理解服务器编程、并发处理以及数据库集成等核心技能,这是一个非常有...

    在Linux的系统环境下配置WU-FTP服务器

    在Linux系统环境中配置WU-FTP服务器是一项关键任务,因为FTP(File Transfer Protocol)...在实际操作中,可能还需要根据具体安全策略和性能优化对配置进行调整,例如限制某些用户的访问权限、设置上传下载速率限制等。

    MacOsx下连接Linux服务器可视化工具VNCViewer

    本篇将详细介绍如何在MacOsx环境下利用VNCViewer连接到Linux服务器,以及其主要特性和使用技巧。 **一、VNCViewer介绍** VNCViewer是由RealVNC公司开发的一款跨平台的远程桌面工具,它支持多种操作系统,包括MacOsx...

    LINUX2.4.x 连接跟踪和地址转换

    连接跟踪负责跟踪并记录所有网络连接的状态,不仅限于TCP连接,还包括UDP和ICMP等协议的“虚拟”连接。地址转换则基于连接跟踪,实现了源地址转换(SNAT)、目的地址转换(DNAT)等功能,极大地增强了网络通信的匿名...

    Linux 4.4.0内核源码分析TCP实现

    `inet_timewait_sock`用于描述处于TIME-WAIT状态的TCP连接,该状态下的连接不能立即被复用,需要等待一段时间才能被释放。 综上所述,Linux 4.4.0内核中的TCP协议实现涉及到了大量的数据结构和复杂的操作流程。理解...

    linux网络配置、测试及故障诊断方法和工具

    通过对ifconfig、ping、traceroute等工具的熟练使用,以及对网络配置文件的深入了解,可以有效地管理和优化网络环境。此外,遇到具体问题时,利用日志文件和高级网络监控工具也是解决问题的有效手段。

    TCP&UDP测试工具_tcp&udp_TCP/UDP测试工具_TCP工具_

    4. **流量分析**:分析网络流量,包括数据包的数量、大小、频率等,帮助优化网络配置。 5. **丢包率和延迟计算**:衡量网络连接的稳定性和质量,丢包率高可能表明网络存在问题。 6. **错误检测**:通过对比发送和...

    linux下mysql配置文件my.cnf详解.pdf

    在Linux环境中,MySQL的主要配置文件是`my.cnf`,它是数据库服务器启动时读取的配置文件,用于设定各种参数和选项,以优化数据库的性能、安全性以及资源使用。这份文档将深入探讨`my.cnf`的结构、主要配置项及其作用...

    Linux+Ubuntu+QT视频录制与保存,tcp通信。

    在本项目中,我们主要关注的是使用Linux操作系统中的Ubuntu环境,结合QT库来实现视频录制与保存,并通过TCP通信协议进行数据传输。以下是对这些关键知识点的详细解释: 1. **Linux Ubuntu**: Linux Ubuntu是一个...

    Nginx配置优化手册.docx

    ### Nginx配置优化手册知识点解析 #### 一、Nginx优化配置 **Nginx**是一款广泛使用的高性能Web服务器和反向代理服务器。它以其高稳定性、丰富的功能集、简单的配置文件和低资源消耗而闻名。对于Nginx的优化配置来...

    TCP&UDP; Debug

    2. 检查和分析TCP连接的建立、保持和关闭过程,验证三次握手和四次挥手是否正常。 3. 实现UDP数据报的发送和接收,观察数据包在网络中的行为,分析丢包、乱序等问题。 4. 监控和记录网络流量,便于分析通信过程中的...

    mongodb在Linux的配置文件

    在Linux环境下,MongoDB的配置文件是管理数据库运行时设置的关键。本篇将详细介绍MongoDB在Linux上的配置文件,日志配置以及服务(service)配置。 1. MongoDB配置文件: MongoDB的主要配置文件名为`mongod.conf`,...

    TCP服务器测试工具

    1. **连接测试**:TCP服务器测试工具能够发起TCP连接到指定的服务器端口,检验服务器是否在监听并接受连接。通过这种方式,可以确定服务器的配置是否正确,端口是否开放。 2. **数据传输**:工具允许用户发送自定义...

Global site tag (gtag.js) - Google Analytics