“高并发情况下Linux服务器内核配置”的版本间的差异

来自Alex's wiki
跳转至: 导航搜索
第1行: 第1行:
 +
[http://mp.weixin.qq.com/s/ALzAIcpUz0RGw44jXY14mA 基于Nginx实现10万+并发,你应该做的Linux内核优化]
 +
 
风行的配置:
 
风行的配置:
 
<source lang=bash>
 
<source lang=bash>

2017年6月12日 (一) 04:38的版本

基于Nginx实现10万+并发,你应该做的Linux内核优化

风行的配置:

modprobe ip_tables
modprobe iptable_filter
modprobe ip_conntrack hashsize=262144
modprobe ip_conntrack_ftp
modprobe ipt_state
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ipt_MASQUERADE
modprobe ipt_LOG
modprobe ipt_REJECT
 
echo 262144 > /proc/sys/net/core/netdev_max_backlog
 
echo 1048576 > /proc/sys/net/core/somaxconn
echo 524288 > /proc/sys/net/core/wmem_max
echo 65536 > /proc/sys/net/core/wmem_default
echo 524288 > /proc/sys/net/core/rmem_max
echo 65536 > /proc/sys/net/core/rmem_default
echo "8096    16384   32768" >/proc/sys/net/ipv4/tcp_wmem
echo "8096    16384   32768" >/proc/sys/net/ipv4/tcp_rmem
echo 1048576 > /proc/sys/net/ipv4/ip_conntrack_max
echo "1024 64000" > /proc/sys/net/ipv4/ip_local_port_range
echo 131072 > /proc/sys/fs/file-max
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
echo 0 > /proc/sys/net/ipv4/tcp_tw_recycle
echo 262144 > /proc/sys/net/ipv4/tcp_max_orphans
echo 262144 > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo 3 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait
echo 30 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_syn_recv
echo 524288 > /proc/sys/net/ipv4/tcp_max_tw_buckets
echo 5 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait
echo 18000 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
echo 1 > /proc/sys/net/ipv4/tcp_syn_retries
echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 0 > /proc/sys/net/ipv4/tcp_retrans_collapse
echo 0 >/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_loose

相应的配置文件在 /etc/sysctl.conf
使用 #/sbin/sysctl -p 命令使修改生效
以下是《Nginx高性能Web服务器详解》中的建议配置(P67):

#添加:
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4. tcp_synack_retries = 1
net.ipv4. tcp_syn_retries = 1
#修改
net.ipv4.tcp_max_syn_backlog = 262144