1.net.core.rmem_max
设置网络套接字接收缓冲区的最大大小(以字节为单位)。
作用:提高接收缓冲区的大小,可以减少因缓冲区过小导致的数据包丢失,从而提高网络吞吐量。
适用场景:适用于高带宽或高延迟的网络环境。
sysctl -w net.ipv4.tcp_fin_timeout=30
2.net.core.wmem_max
设置网络套接字发送缓冲区的最大大小(以字节为单位)。
作用:提高发送缓冲区的大小,可以减少因缓冲区过小导致的发送延迟,从而提高网络吞吐量。
适用场景:适用于高带宽或高延迟的网络环境。
sysctl -w net.ipv4.tcp_tw_reuse=1
3.vm.swappiness
制虚拟内存的交换倾向,取值范围为0到100。
作用:决定系统将内存页面交换到磁盘的倾向。值越高,系统越倾向于将内存页面交换到磁盘;值越低,系统越倾向于将内存用于进程。
适用场景:
低值(如10):适用于内存充足的系统,减少磁盘I/O,提高性能。
高值(如60):适用于内存不足的系统,避免因内存耗尽导致的系统崩溃。
vm.swappiness=10
4.vm.dirty_ratio
设置系统允许的脏页占总内存的最大比例(百分比)。
作用:当脏页比例达到此值时,系统会强制将脏页写回磁盘,以避免脏页过多导致系统崩溃。
适用场景:适用于需要严格控制脏页数量的场景
vm.dirty_ratio=40
5.net.ipv4.tcp_tw_reuse
作用:控制是否允许重用处于TIME_WAIT状态的连接。
取值:
0:不允许重用TIME_WAIT状态的连接。
1:允许重用TIME_WAIT状态的连接。
说明:启用此参数可以减少因TIME_WAIT状态连接占用的资源,适用于高并发的网络环境。
适用场景:适用于需要处理大量短连接的场景,如Web服务器或负载均衡器。
sysctl -w net.ipv4.tcp_tw_reuse=1
6.net.ipv4.tcp_tw_recycle
作用:控制是否启用TCP连接的TIME_WAIT状态回收。
取值:
0:不启用TIME_WAIT状态回收。
1:启用TIME_WAIT状态回收。
说明:TIME_WAIT状态是TCP连接终止时的一个状态,用于确保旧的连接完全关闭。启用回收可以减少TIME_WAIT状态的连接数量,释放系统资源。
适用场景:适用于高并发的网络环境,特别是在处理大量短连接时。
sysctl -w net.ipv4.tcp_tw_recycle=1
7.net.ipv4.tcp_fin_timeout
作用:设置TCP连接在FIN_WAIT状态下的超时时间(单位:秒)。
说明:当一个TCP连接的一方发送FIN包请求关闭连接时,另一方会进入FIN_WAIT状态。此参数决定了系统在FIN_WAIT状态下等待的时间。
默认值:通常为60秒。
适用场景:适用于需要快速释放连接资源的场景,特别是在高并发的网络环境中。
sysctl -w net.ipv4.tcp_fin_timeout=30
8.net.core.somaxconn
增加TCP连接队列长度,可以提高系统处理连接请求的能力,特别是在高并发场景下。
设置每个监听套接字的最大连接队列长度。
sysctl -w net.core.somaxconn=1024
9.net.ipv4.tcp_max_syn_backlog
设置SYN队列的最大长度。
sysctl -w net.ipv4.tcp_max_syn_backlog=1024
10.net.ipv4.tcp_syncookies
启用SYN Cookie机制,可以有效防止SYN Flood攻击,提高系统的安全性。
sysctl -w net.ipv4.tcp_syncookies=1
11.net.core.rmem_max
增加网络缓冲区的大小,可以提高高带宽网络的性能。
net.core.rmem_max:设置接收缓冲区的最大大小。
sysctl -w net.core.rmem_max=16777216
net.core.wmem_max:设置发送缓冲区的最大大小。
sysctl -w net.core.wmem_max=16777216