“高并发情况下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