- 查看当前TCP/IP连接的状态和对应的个数
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’
- vim /etc/sysctl.conf 添加如下内容
- net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
- net.ipv4.tcp_syncookies = 1
- 让内核参数生效
- sysctl -p
- sysctl -p
- 上面参数意义的解释
- 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 修改系統默认的 TIMEOUT 时间。
- net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
- 在经过这样的调整之后,除了会进一步提升服务器的负载能力之外,还能够防御一定程度的DDoS、CC和SYN攻击,是个一举两得的做法。
- 此外,如果你的连接数本身就很多,我们可以再优化一下TCP/IP的可使用端口范围,进一步提升服务器的并发能力。依然是往上面的参数文件中,加入下面这些配置:
- net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
- net.ipv4.tcp_keepalive_time = 1200
- 这几个参数,建议只在流量非常大的服务器上开启,会有显著的效果。一般的流量小的服务器上,没有必要去设置这几个参数。这几个参数的含义如下:
- net.ipv4.tcp_keepalive_time = 1200 表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
net.ipv4.ip_local_port_range = 10000 65000 表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为10000到65000。(注意:这里不要将最低值设的太低,否则可能会占用掉正常的端口!)
net.ipv4.tcp_max_syn_backlog = 8192 表示SYN队列的长度,默认为1024,加大队列长度为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_keepalive_time = 1200 表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
- 经过这样的配置之后,你的服务器的TCP/IP并发能力又会上一个新台阶
相关推荐
自动驾驶嵌入式修炼秘籍:理想L9自动驾驶域控制器拆解
自动驾驶嵌入式修炼秘籍:理想L9自动驾驶域控制器拆解
tcp out of order解决_TCP、UDP及服务屏蔽实现方式
目录1. TCP、UDP2. Java Tcp3. Java Upd4. 降级的几种方式5. 降级的实现方式之一6. 故障中降级的意义7. 总结及展望1. TCP、UDPTCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议,所谓的协议就是双方进行数据传输的一种格式。应用层:用户进程传输层:TCP、UDP网络层:ICMP、IP、IGMP链路层:ARP、硬件...
揭秘个人开发者接支付宝的‘野路子’:不用企业资质,用Python模拟扫码转账与回调监听
本文探讨了个人开发者如何通过Python模拟支付宝扫码转账与回调监听的技术实现,解析了支付宝URL协议格式,并设计了本地化的支付状态监听方案。文章强调该方法仅用于技术研究,实际应用需遵守支付宝官方接口和金融合规要求。
tcp out of order是怎么回事_网络编程:TCP协议浅析
前言了解TCP协议的细节,有助于调试socket的问题,有时还能使程序更高效。但是TCP协议实在太复杂了,这里只能作一个总体框架的描述,真要钻究每一个细节,需要看其他专业的书,比如TCP/IP Illustrated。TCP段格式TCP将传输的数据分成多个段(segment),一个段用一个IP数据报传输,段的格式如下:tcp数据段格式Source port number 这是发送端的端口号Dest...
LLCE、PFE模块,二层交换/桥接的通用学习转发机制
NXP 文档里给出的正式全称如下:面向 CAN/CAN-FD、LIN、FlexRay 的“低延迟通信引擎”,用多核 M0 固件做报文收发、过滤、路由,把主 CPU 中断负荷降到几乎 0。“数据包转发引擎”,负责以太网帧的分类、修改、转发、VLAN/NAT/IPsec 等 offload,支持 2 Gbit/s 线速且主机负载 ≈0。两者都跑各自固件,通过内部 AXI 桥可互连,实现“CAN→ETH”零主核参与的硬件级网关功能。是它们都集成在。
Windows 10/11系统下TurboDesign 6.4.0完整安装指南(附序列号+破解补丁)
本文提供Windows 10/11系统下TurboDesign 6.4.0的完整安装指南,涵盖系统环境预检、安装程序部署、序列号处理及破解补丁部署等关键步骤。通过详细的安装教程和优化配置,帮助用户高效完成这款涡轮机械设计软件的安装与调试,解决常见兼容性问题。
TCP乱序队列(Out-Of-Order)
乱序的数据包被保存在TCP套接口的out_of_order_queue队列中,以红黑树组织,套接口成员ooo_last_skb缓存了此红黑树的最后一个成员,方便内核后续添加新的成员。 struct tcp_sock { /* OOO segments go in this rbtree. Socket lock must be held. */ struct rb_root ...
行为预测模型:Social LSTM与Graph Neural Networks
行为预测模型:Social LSTM与Graph Neural Networks ,人工智能,计算机视觉,大模型,AI,本文围绕行为预测模型Social LSTM与Graph Neural Networks展开,介绍了两者的基础概念、原理、应用场景,还对比了它们在优势、劣势和适用场景上的不同,最后给出了相应的代码示例。Social LSTM基于LSTM,通过社交池化层处理多智能体交互;图神经网络处理图结构数据,靠消息传递获取信息,二者各有侧重,适用于不同场景。
Linux TCP优化
直接上配置 vi /etc/sysctl.conf --------------start------------- # max open files fs.file-max = 51200 # max read buffer net.core.rmem_max = 67108864 # max write buffer net.core.wmem_max = 67108864 # defaul
详解舵机的基本原理以及控制方法
文章目录什么是舵机?伺服控制硬件连接舵机规格SG90MG90SMG996R总结 什么是舵机? 舵机是伺服电机的一种,伺服电机就是带有反馈环节的电机,我们可以通过伺服电机进行精确的位置控制或者输出较高的扭矩; 舵机也叫也叫 RC 伺服器,通常用于机器人项目,也可以在遥控汽车,飞机等航模中找到它们。 类似舵机这样的伺服系统通常由小型电动机,电位计,嵌入式控制系统和变速箱组成。 电机输出轴的位置由内部电位计不断采样测量,并与微控制器(例如STM32,Arduino)设置的目标位置进行比较; 根据相应的偏差,控制
uniapp [安卓苹果App端] - 详细实现手机蓝牙连接打印机及打印票据小票/标签/面单/热敏小票订单/快递单等通用兼容适配解决方案,Uniapp对接蓝牙打印机支持各种主流品牌及打印指令,强悍插件
uni-app,安卓Android,苹果ios,安卓app端,苹果App端,uniapp苹果app,蓝牙打印机,uniappAPP实现通过蓝牙连接打印机打印,uniapp蓝牙连接打印机,安卓蓝牙打印插件,蓝牙打印机,蓝牙ble低功率及高功率打印机小票、标签、面单打印,手机PDA蓝牙打印插件,连接蓝牙打印机,蓝牙连接,打印文本、图片、条码、二维码,兼容斑马打印机、佳博打印机,TSC打印机,免费蓝牙打印机组件,蓝牙打印条码,蓝牙打印机连接,热敏蓝牙打印机,便携式打印机,打印机搜索不到,连接失败,发送打印命令
Linux Network (TCP) 性能调优 - Sysctl
在本文中,我们将讨论一些影响网络性能的sysctl参数。在深入讨论细节之前,我们首先看一下使用sysctl可以修改的一些内容。NFSProcesses可以通过运行下面的命令来找到所有sysctl参数的完整列表。我们将讨论sysctl中与网络相关的交换机,这些交换机的修改可以大大提高网络的速度。大多数Linux用户都知道这样一个事实:无论您在sysctl中修改什么,它最终都会修改/proc目录中的某个文件。在运行的系统上,你可以将所需的值重定向到/proc文件系统中的文件中,它将立即应用。
Navicat从入门到精通:数据库管理全攻略
本文系统梳理Navicat数据库管理工具的核心应用体系。从基础的安装与多类型数据库连接入手,详解数据库与数据表的创建、修改、删除等操作逻辑;深入数据增删改查的可视化与 SQL 语句双重操作模式,结合Excel/SQL文件的导入导出场景提供实操指南。同时覆盖数据备份恢复、跨库同步等进阶功能,以及视图、存储过程等高级应用。通过对比同类工具突出Navicat的易用性与功能性优势,并针对连接失败、字符乱码等常见问题提供解决方案,帮助读者从零基础掌握数据库全生命周期管理,提升数据操作效率与安全性。
linux 系统优化tcp连接
linux 系统优化tcp连接
廖雪峰Python教程[完整版]
廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白
OV9734 DATASHEET,完整规格书
OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等
网络编程中TCP基础巩固以及Linux打开的文件过多文件句柄的总结
1.TCP连接(短链接和长连接) 什么是TCP连接?TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,而释放则需要4次...
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
深入Linux内核:揭秘TCP收发包的神秘之旅
在探索 Linux TCP 收发包实现原理的奇妙旅程中,我们领略了网络世界的无限精彩。从 TCP/IP 网络模型的宏观架构,到 Linux 网络协议栈的具体实现;从 TCP 连接建立时的三次握手,到数据接收、发送过程中的层层处理,再到连接关闭时的四次挥手,每一个环节都蕴含着计算机网络领域的智慧结晶。我们不仅了解了 TCP 协议如何在复杂的网络环境中确保数据的可靠传输,还通过实际的代码示例,将理论知识转化为可操作的实践,真正掌握了 TCP 收发包在编程中的应用技巧。
精雕软件(JDpaint) 5.5 绿色版
精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版
last_ack为什么不占用文件描述符
系统会尽量减少不必要的资源占用,特别是在连接已经关闭或即将关闭的情况下。:在TCP连接中,当一方发送FIN包表示关闭连接时,另一方在收到FIN包后会进入LAST_ACK状态。此时,虽然连接还未完全关闭,但已经不再占用新的文件描述符,因为连接已经结束1。:在LAST_ACK状态下,连接已经处于关闭过程中,系统不再需要为该连接分配新的资源,包括文件描述符。综上所述,last_ack状态不占用文件描述符是因为连接已经处于关闭过程中,系统不再需要为该连接分配新的资源,这是系统优化资源使用的一种体现。
Linux下 TCP 连接限制如何解除,解决socket高并发连接数限制,tcp默认1024个连接
就再也不能建立tcp连接,然后在互联网上搜索,发现linux系统默认的ulimit为1024,这是用户最多可开启的程序数目。当用户使用Linux作为系统时,socket在运行高并发的TCP程序时,可能会遇到连接数量到一定个数后被阻断的情况。我在工作的时候,测试高并发tcp程序(GPS服务器端程序),经过多次测试之后,发现每次建立的连接到达1000个左右。第一步,修改/etc/security/limits.conf文件,在文件中添加如下行(*指代系统用户名),
Linux 4.4.0 内核源码分析 —— TCP实现:深入理解TCP协议栈核心
Linux 4.4.0 内核源码分析 —— TCP实现:深入理解TCP协议栈核心 【下载地址】Linux4.4.0内核源码分析TCP实现 探索Linux 4.4.0内核中TCP/IP协议栈的奥秘,本资源为开发者、学生及网络爱好者提供了详尽的源码分析。从TCP协议的基本原理到Linux内核网络子系统的架构,再到TCP连接管...
Linux的TCP连接问题解决调优观察
但是实际在修改的时候发现net.ipv4.ip_conntrack_max不存在,但是存在nf_conntrack_max。可以在/etc/sysctl.conf修改net.nf_conntrack_max = 131070参数,解决连接无法继续连接的问题。后面的连接则会连接超时,这个时候就需要对系统参数进行优化。/etc/security/limits.conf的时候要注意,考虑上面三个值的大小,一旦nofile值超过nr_open,则可能ssh连接断开无法登陆。系统: centos7.3。
2547



被折叠的 条评论
为什么被折叠?



