对于不同的操作系统,通过在OS层面调整一些参数配置,可以有效提升服务器性能。
Linux参数 |
参数含义 |
操作 |
---|---|---|
tcp_max_syn_backlog |
tcp_max_syn_backlog是指定所能接受SYN同步包的最大客户端数量。默认值是2048,建议修改成8192。 |
echo 8192 > /proc/sys/net/ipv4/ tcp_max_syn_backlog |
net.core.somaxconn |
服务端所能accept即处理数据的最大客户端数量,即完成连接上限。默认值是128,建议修改成1024。 |
echo 1024 > /proc/sys/net/core/somaxconn |
net.core.rmem_max |
接收套接字缓冲区大小的最大值。默认值是229376,建议修改成16777216。 |
echo 16777216 > /proc/sys/net/core/rmem_max |
net.core.wmem_max |
发送套接字缓冲区大小的最大值(以字节为单位)。默认值是229376,建议修改成16777216。 |
echo 16777216 > /proc/sys/net/ core/wmem_max |
net.ipv4.tcp_rmem |
配置读缓冲的大小,三个值,第一个是这个读缓冲的最小值,第三个是最大值,中间的是默认值。默认值是“4096 87380 6291456”,建议修改成“4096 87380 16777216”。 |
echo "4096 87380 16777216" > /proc/sys/net/ipv4/tcp_rmem |
net.ipv4.tcp_wmem |
配置写缓冲的大小,三个值,第一个是这个写缓冲的最小值,第三个是最大值,中间的是默认值。默认值是“4096 16384 4194304”,建议修改成“4096 65536 16777216”。 |
echo "4096 65536 16777216" > /proc/sys/net/ipv4/tcp_wmem |
net.ipv4.max_tw_buckets |
表示系统同时保持TIME_WAIT套接字的最大数量。默认值是2048,建议修改成360000。 |
echo 360000 > /proc/sys/net/ipv4/tcp_max_tw_buckets |