Linux 内核目录/proc/sys/net 提供了很多网络协议栈配置参数,可控制网络协议栈行为,优化系统性能。
一. 基础命令
sysctl -a 显示内核参数
$ sysctl net.core.somaxconn; $ sysctl -w net.core.somaxconn=32768 $ echo 32768 > /proc/sys/net/core/somaxconn $ $ vi /etc/sysctl.conf $ sysctl -p # 使参数生效
二. TCP/IP网络参数
连接参数
/proc/sys/netc/ipv4/tcp_max_syn_backlog syn队列(处于SYN_RCVD连接)大小,默认128,可调大
/proc/sys/net/core/somaxconn 端口最大监听队列(完成三次握手)长度,默认128;该参数过小会限制最大并发。应用层:listen(fd, backlog);
TCP同步标签
/proc/sys/net/ipv4/tcp_syncookies 抵御同地址syn攻击,对于随机ip地址syn攻击无能为力。
选择性确认
/proc/sys/net/ipv4/tcp_sack 默认为1
Selective Acknowledgement, 只重传丢失的tcp片断,不用发送所有未被确认的tcp报文段。
注:tcp options 选项kind=4 报文。
窗口扩大因子
net.ipv4.tcp_window_scaling = 1 默认启用
提高TCP通信吞吐量,N*2^M = WinSize*64, 窗口因子默认为6.
注:tcp options 选项kind=3 报文。
RTT
/proc/sys/net/ipv4/tcp_timestamps 启用或关闭时间戳选项,默认为1
注:tcp option选项kind=8报文,用于计算通信双方回路时间(Round Trip Time)。
超时重连
/proc/sys/net/ipv4/tcp_syn_retries 重连次数,默认为5。
超时重传
/proc/sys/net/ipv4/tcp_retries1 底层IP接管前TCP最少执行的重传次数,默认3
/proc/sys/net/ipv4/tcp_retries2 最多执行的重传次数,默认15
TIME_WAIT
a.用于可靠性终止TCP连接;
b.保证以来的TCP报文有足够时间被识别并丢弃。默认2MSL,默认2分钟。
/proc/sys/net/ipv4/tcp_fin_timeout FIN_WAIT2到TIME_WAIT超时时间 /proc/sys/net/ipv4/tcp_tw_recycle 快速回收TIME_WAIT连接,默认为0,小心NAT /proc/sys/net/ipv4/tcp_tw_reuse 重用TIME_WAIT端口,默认为0
可指定SO_REUSEADDR 强制进程使用处于TIME_WAIT状态的连接占用的端口。
TCP读写缓冲区
/proc/sys/net/ipv4/tcp_rmem 最小值 默认值 最大值
/proc/sys/net/ipv4/tcp_wmem
/proc/sys/net/ipv4/tcp_mem 压力下限值 压力模式初始值 压力模式上限值
拥塞控制
/proc/sys/net/ipv4/tcp_congestion_control 当前使用的拥塞算法,默认为cubic
具体有reno, vegas, cubic, bbr 算法等。
三. 基础概念
1. 交互数据
实时性较高场合,nagle算法攒够数据后发送,减少网络上微小tcp报文段数量。
2. 成块数据
ftp大文件下载场合,接收端一次性ACK多条报文。
3. 拥塞控制
慢启动 cwnd=(N, SMSS)
拥塞避免 cwnd=smss*smss/cwnd 避免cwnd线性增长
快速重传 cwnd=ssthresh+3*SMSS 收到3条重复ACK报文后,即认为有数据包丢失,则源端重传丢失的数据包,而不必等待
RTO超时。
快速恢复 cwnd=cwnd+smss 每次收到1重复ACK时,增大cwnd
参数资料:
相关推荐
1. 文档所涉及的命令,都是基于服务器, CPU是AMD的EPYC系列 2. 文档主要针对调优Linux系统下的网络性能给出了合适的意见 3. 文档中包含实用的命令示例
网络调优压测工具网络测试调试常用调优配置Linux 网络调优:内核网络栈参数篇Linux性能调优之 网络。
Linux性能调优的几种方法,从内核、系统、网络等层面
·优化linux系统的调度器、内存、i/o、文件系统和网络 ·对运行商业工作负荷的web、文件、数据库,及应用服务器进行调优 ·预测调整参数或配置信息的变化所产生的影响 ·调整linux代码:对设计、定时
大多数Linux 发布版都定义了适当的缓冲区和其他Transmission Control Protocol(TCP)参数。可以修改这些参数来分配更多的内存,从而改进网络性能。
【】Siege linux测评【】[原创]zabbix 安装使用手册(HA) v1.2【】系统调优之一CPU子系统【】系统调优之三内存子系统【】系统调优之二内存子系统【】系统调优之四网络IO子系统 资源太大,传百度网盘了,链接在附件中...
00-介绍.pdf 01-调优介绍.pdf 02-选择性能监控工具.pdf 03-查看硬件资源.pdf 04-配置内核可调参数及配置文件.pdf 05-CGOUP.pdf 06-使用系统跟踪工具分析性能.pdf ... 11-网络调优.pdf 12-虚拟化调优.pdf
详细讲解linux内核参数,及日常调优,包括网络,文件系统,tcp,内存等
netutils-linux用于简化linux网络故障排除和性能调优的工具
基于Linux网络计算机Java虚拟机的性能优化经验谈.pdf
网络的通畅不容忽视,在网络飞速发展的今天,如果让系统与网络进行安全可靠的无缝连接,那么网络的调优不容忽视,通过对每颗CPU的精确利用,让你的系统服务飞速的在网络驰骋,这次的视频就让你的用户体验达到飞一般...
Linux系统案例精解 存储、Oracle数据库、集群、性能优化、系统管理、网络配置 1
大多数 Linux 发布版都定义了适当的缓冲区和其他 Transmission Control Protocol(TCP)参数。可以修改这些参数来分配更多的内存,从而改进网络性能。设置内核参数的方法是通过 proc 接口,也就是通过读写 /proc 中...
EBS系统优化的过程是复杂的,要从存储设备、主机、数据库、应用系统、网络以及客户端等多层次入手。本文档主要探讨应用系统和数据库层的优化方案,而Linux服务器优化为其次。其中应用系统优化包括:对OC4J优化和监控...
按照传统,Linux不同的发行版本和不同的内核对各项参数及设置均做了改动,从而使得系统能够获得更好的性能。下边将分四部分介绍在Red Hat Enterprise Linux AS... 8、Tuning the network subsystem(网络子系统调优)
《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》以构建高性能Linux服务器为核心内容,从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等多个方面深入讲解了如何构建高...
Linux 系统的最大进程数和最大文件打开数限制: vi /etc/security/limits.conf # 添加如下的行 * soft noproc 65535 * hard noproc 65525 * soft nofile 1000000 * hard nofile 1000000 说明:* 代表针对所有用户 ...
linux 文件系统 网络性能 参数优化 linux 文件系统 网络性能 参数优化 linux 文件系统 网络性能 参数优化
6、Tuning the memory subsystem (内存子系统调优) 7、Tuning the file system(文件系统子系统调优) 8、Tuning the network subsystem(网络子系统调优) 1 关闭daemons 有些运行在服务器中的daemons (后台服务)...