Last active
September 18, 2017 12:50
-
-
Save xiangchu0/631867ae8e3bd30b6d22bb03d1fd246d to your computer and use it in GitHub Desktop.
linux-basic-tuning
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # /etc/sysctl.conf | |
| fs.file-max = 200000 | |
| vm.swappiness = 10 | |
| net.ipv4.ip_local_port_range = 1024 65000 | |
| net.core.rmem_max = 33554432 | |
| net.core.wmem_max = 33554432 | |
| net.core.rmem_default = 33554432 | |
| net.core.wmem_default = 33554432 | |
| net.core.optmem_max = 40960 | |
| net.ipv4.tcp_rmem = 4096 87380 33554432 | |
| net.ipv4.tcp_wmem = 4096 65536 33554432 | |
| net.core.netdev_max_backlog = 50000 | |
| net.ipv4.tcp_max_syn_backlog = 30000 | |
| net.ipv4.tcp_max_tw_buckets = 2000000 | |
| net.ipv4.tcp_tw_reuse = 1 | |
| net.ipv4.tcp_fin_timeout = 10 | |
| net.ipv4.tcp_slow_start_after_idle = 0 | |
| net.ipv4.udp_rmem_min = 8192 | |
| net.ipv4.udp_wmem_min = 8192 | |
| net.ipv4.conf.all.send_redirects = 0 | |
| net.ipv4.conf.all.accept_redirects = 0 | |
| net.ipv4.conf.all.accept_source_route = 0 | |
| net.ipv4.conf.all.log_martians = 1 | |
| net.ipv4.tcp_keepalive_time = 60 | |
| net.ipv4.tcp_keepalive_intvl = 15 | |
| net.ipv4.tcp_keepalive_probes = 4 | |
| net.ipv4.tcp_retries2 = 3 | |
| # /etc/security/limits.conf | |
| * soft nofile 131072 | |
| * hard nofile 131072 | |
| # settings for nginx | |
| # Recycle Zombie connections | |
| net.inet.tcp.fast_finwait2_recycle=1 | |
| net.inet.tcp.maxtcptw=200000 | |
| # Increase number of files | |
| kern.maxfiles=65535 | |
| kern.maxfilesperproc=16384 | |
| # Increase page share factor per process | |
| vm.pmap.pv_entry_max=54272521 | |
| vm.pmap.shpgperproc=20000 | |
| # Increase number of connections | |
| vfs.vmiodirenable=1 | |
| kern.ipc.somaxconn=3240000 | |
| net.inet.tcp.rfc1323=1 | |
| net.inet.tcp.delayed_ack=0 | |
| net.inet.tcp.restrict_rst=1 | |
| kern.ipc.maxsockbuf=2097152 | |
| kern.ipc.shmmax=268435456 | |
| # Host cache | |
| net.inet.tcp.hostcache.hashsize=4096 | |
| net.inet.tcp.hostcache.cachelimit=131072 | |
| net.inet.tcp.hostcache.bucketlimit=120 | |
| # Increase number of ports | |
| net.inet.ip.portrange.first=2000 | |
| net.inet.ip.portrange.last=100000 | |
| net.inet.ip.portrange.hifirst=2000 | |
| net.inet.ip.portrange.hilast=100000 | |
| kern.ipc.semvmx=131068 | |
| # Disable Ping-flood attacks | |
| net.inet.tcp.msl=2000 | |
| net.inet.icmp.bmcastecho=1 | |
| net.inet.icmp.icmplim=1 | |
| net.inet.tcp.blackhole=2 | |
| net.inet.udp.blackhole=1 | |
| #################################################### | |
| max open files | |
| fs.file-max = 51200 | |
| # max read buffer | |
| net.core.rmem_max = 67108864 | |
| # max write buffer | |
| net.core.wmem_max = 67108864 | |
| # default read buffer | |
| net.core.rmem_default = 65536 | |
| # default write buffer | |
| net.core.wmem_default = 65536 | |
| # max processor input queue | |
| net.core.netdev_max_backlog = 4096 | |
| # max backlog | |
| net.core.somaxconn = 4096 | |
| # resist SYN flood attacks | |
| net.ipv4.tcp_syncookies = 1 | |
| # reuse timewait sockets when safe | |
| net.ipv4.tcp_tw_reuse = 1 | |
| # turn off fast timewait sockets recycling | |
| net.ipv4.tcp_tw_recycle = 0 | |
| # short FIN timeout | |
| net.ipv4.tcp_fin_timeout = 30 | |
| # short keepalive time | |
| net.ipv4.tcp_keepalive_time = 1200 | |
| # outbound port range | |
| net.ipv4.ip_local_port_range = 10000 65000 | |
| # max SYN backlog | |
| net.ipv4.tcp_max_syn_backlog = 4096 | |
| # max timewait sockets held by system simultaneously | |
| net.ipv4.tcp_max_tw_buckets = 5000 | |
| # turn on TCP Fast Open on both client and server side | |
| net.ipv4.tcp_fastopen = 3 | |
| # TCP receive buffer | |
| net.ipv4.tcp_rmem = 4096 87380 67108864 | |
| # TCP write buffer | |
| net.ipv4.tcp_wmem = 4096 65536 67108864 | |
| # turn on path MTU discovery | |
| net.ipv4.tcp_mtu_probing = 1 | |
| # for high-latency network | |
| net.ipv4.tcp_congestion_control = hybla | |
| # for low-latency network, use cubic instead | |
| # net.ipv4.tcp_congestion_control = cubic |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment