系统文件:/etc/sysctl.conf

中的参数配置如下:

net.ipv4.ip_local_port_range = 1024 65000net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216#表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_syncookies = 1net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1#表示系统同时保持TIME_WAIT的最大数量,如果超过这个数字,TIME_WAIT将立刻被清除并打印警告信息。
#默认为180000,改为6000。对于Apache、Nginx等服务器,上几行的参数可以很好地减少TIME_WAIT套接字数量,
#但是对于Squid,效果却不大。此项参数可以控制TIME_WAIT的最大数量,避免Squid服务器被大量的TIME_WAIT拖死。
net.ipv4.tcp_max_tw_buckets = 5000#时间戳可以避免序列号的卷绕。一个1Gbps的链路肯定会遇到以前用过的序列号
#时间戳能够让内核接受这种“异常”的数据包。这里需要将其关掉。
net.ipv4.tcp_timestamps = 0#支持更大的TCP窗口. 如果TCP窗口最大超过65535(64K), 必须设置该数值为1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_sack = 0
net.core.netdev_max_backlog = 30000
net.ipv4.tcp_no_metrics_save = 1net.core.somaxconn = 65535#系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上。
#如果超过这个数字,连接将即刻被复位并打印出警告信息。
#这个限制仅仅是为了防止简单的DoS攻击,不能过分依靠它或者人为地减小这个值,更应该增加这个值(如果增加了内存之后)。
net.ipv4.tcp_max_orphans = 262144#表示SYN队列的长度,默认为1024,加大队列长度为65535,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_syn_backlog = 65535#为了打开对端的连接,内核需要发送一个SYN并附带一个回应前面一个SYN的ACK,也就是所谓三次握手中的第二次握手。这个设置决定了内核放弃连接之前发送SYN+ACK包的数量。
net.ipv4.tcp_synack_retries = 2
#在内核放弃建立连接之前发送SYN包的数量。
net.ipv4.tcp_syn_retries = 2
fs.file-max = 2000000
fs.nr_open = 2000000
#for redis
vm.overcommit_memory = 1

特别注意如下参数:

net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30

如果系统(主要指服务端系统)出现大量TIME_WAIT状态,加上上面几个参数可以有效缓解,特别注意,这没有解决根本问题:导致服务端主动断开连接的原因。

注意:一般情况下,TCP连接都是谁建立谁断开,服务端不会主动断开一个有效连接,特殊情况下:心跳包超时时,服务端会主动断开连接(心跳的机制:主要为了尽快释放无效的连接,如果连接上没有任何数据来往,服务端是不知道这个连接是好还是坏的,心跳机制就是定时在tcp连接上收发一个心跳数据,让服务端收到数据后就认为连接是好的)。

执行完参数修改之后,需要执行如下命令才能生效:

/sbin/sysctl -p

linux 相关系统参数调优(特别针对网络传输,大量TIME_WAIT 的TCP状态的情况)相关推荐

  1. linux磁盘io调优,Linux系统管理和调优(内存、CPU、磁盘IO、网络)

    系统管理 Author:Rich七哥 查看 CPU 负载相关工具,找出系统中使用 CPU 最多的进程 查看 Memory 运行状态相关工具,找出系统中使用内存最多的进程 查看 IO 运行状态相关工具, ...

  2. Linux文件系统性能调优 参数优化

    由于各种的I/O负载情形各异,Linux系统中文件系统的缺省配置一般来说都比较中庸,强调普遍适用性.然而在特定应用下,这种配置往往在I/O 性能方面不能达到最优.因此,如果应用对I/O性能要求较高,除 ...

  3. Linux内核参数调优以应对SYN攻击

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Linux内核参数调优以应对SYN攻击. 一.SYN攻击简介 所谓SYN攻击,即利用TCP三次握手原理,向服务器发送大量的SYN数据包,却不响应 ...

  4. linux系统基础调优32条技巧

    linux系统基础调优32条技巧 版权声明:原创作品,如需转载,请与作者联系.否则将追究法律责任. 缘起:本文为老男孩linux系统基础优化部分,一些高级方面的调优欢迎大家一起讨论或单独交流,谢谢大家 ...

  5. 我使用过的Linux命令之curl - 强大的网络传输工具

    我使用过的Linux命令之curl - 强大的网络传输工具 http://codingstandards.iteye.com/blog/807844 博客分类: Linux命令 LinuxTomcat ...

  6. 问君能有几多愁,恰似不懂Linux SQL如何调优——聊聊SQL Server on Linux最佳实践

    问君能有几多愁,恰似不懂Linux SQL如何调优--聊聊SQL Server on Linux最佳实践 自从微软开始拥抱Linux, SQL Server 很快就推出了 Linux版本, linux ...

  7. linux内核参数调优,缓冲区调整,tcp/udp连接管理,保持,释放优化,gossary,terms

    linux内核参数调优,缓冲区调整,tcp/udp连接管理,保持,释放优化,gossary,terms changing a readonly file (linu single user mode) ...

  8. 网络缓存 峰值 linux,Linux Page Cache调优在Kafka中的应用

    本文首发于 vivo互联网技术 微信公众号 链接: 作者:Yang Yijun 本文主要描述Linux Page Cache优化的背景.Page Cache的基本概念.列举之前针对Kafka的 IO ...

  9. linux系统参数调优

    说明:以下内容是基于Centos7.x  kernel版本为3.10进行测试的结果. 一 CPU 参数调优 1.1性能模式调整 1.2开启服务器超线程功能 1.3Numa参数调整 二 内存参数调优 2 ...

最新文章

  1. springboot应用如何提高服务吞吐量?
  2. Android studio Dialog 弹出式对话框
  3. 提交请求最基础的3种方式以及可以发送请求的7个位置
  4. k8s minikube部署hbase
  5. 购物车完善版,客户余额及所购商品保存在文件
  6. Java中利用MessageFormat对象实现类似C# string.Format方法格式化
  7. 04 | 函数与优化方法:模型的自我学习(上)
  8. SpringBoot的Bean之基本定义与使用
  9. Hibernate获取数据方式与缓存使用
  10. (5)Matplotlib_grid
  11. java int 原子_java中的原子操作类AtomicInteger及其实现原理
  12. aven class javax.xml.parsers.SecuritySupport12 cannot access its superclass javax.xml.parsers.Secur
  13. java 图像锐化_Java中图像锐化操作的方法详解
  14. 【前端进阶】-TypeScript类型声明文件详解及使用说明
  15. cad没有命令输入框_CAD命令,教您CAD命令栏不见了怎么调出来
  16. 光耦w314的各引脚图_P621 光耦
  17. 毕业设计-基于效果的图像超级分辨率重建
  18. javascript之内置函数
  19. 从CPU架构--x86架构和arm架构处理器--功耗
  20. verilog基础---always

热门文章

  1. 堆排序 Heap Sort
  2. CSS的七种基本选择器及其权值
  3. winform防止sqlserver注入_ASP.NET Core 中的 依赖注入介绍
  4. linux查找某时间后的关键字,linux - 查找指定时间的文件及文件中的关键字
  5. Python刷题-7
  6. python socket 游戏_python socket模拟游戏开服
  7. matlab求两向量夹角_Matlab-自动化控制系统设计4频域分析
  8. html 把文字显示控制,控制字体加粗显示的html标签是哪个
  9. Pycharm - 创建python 文件模版
  10. Vue的常用指令有哪些,分别是什么作用?