mirror of
https://github.com/edu4rdshl/linuxscripts.git
synced 2026-07-18 07:34:45 +00:00
89 lines
2.6 KiB
Text
89 lines
2.6 KiB
Text
# Disable Explicit Congestion Notification in TCP
|
|
net.ipv4.tcp_ecn=0
|
|
|
|
# window scaling
|
|
net.ipv4.tcp_window_scaling=1
|
|
|
|
# Tuning dedicated memory to network cards
|
|
net.core.rmem_default = 1048576
|
|
net.core.wmem_default = 1048576
|
|
|
|
# UDP tuning
|
|
net.ipv4.udp_rmem_min = 8192
|
|
net.ipv4.udp_wmem_min = 8192
|
|
|
|
# increase linux autotuning tcp buffer limits
|
|
net.ipv4.tcp_rmem = 4096 1048576 2097152
|
|
net.ipv4.tcp_wmem = 4096 65536 16777216
|
|
|
|
# increase TCP max buffer size
|
|
net.core.rmem_max=16777216
|
|
net.core.wmem_max=16777216
|
|
|
|
# Increase number of incoming connections backlog
|
|
net.core.netdev_max_backlog=16384
|
|
net.core.dev_weight=64
|
|
|
|
# Increase number of incoming connections
|
|
# net.core.somaxconn=8096
|
|
|
|
# Increase the maximum amount of option memory buffers
|
|
net.core.optmem_max = 65536
|
|
|
|
# Increase the tcp-time-wait buckets pool size to prevent simple DOS attacks
|
|
net.ipv4.tcp_max_tw_buckets=1440000
|
|
|
|
# try to reuse time-wait connections, but don't recycle them (recycle can break clients behind NAT)
|
|
net.ipv4.tcp_tw_reuse=1
|
|
|
|
# Limit number of orphans, each orphan can eat up to 16M (max wmem) of unswappable memory
|
|
net.ipv4.tcp_max_orphans=16384
|
|
net.ipv4.tcp_orphan_retries=0
|
|
|
|
# don't cache ssthresh from previous connection
|
|
net.ipv4.tcp_no_metrics_save=1
|
|
net.ipv4.tcp_moderate_rcvbuf=1
|
|
|
|
# Increase size of RPC datagram queue length
|
|
net.unix.max_dgram_qlen=50
|
|
|
|
# Don't allow the arp table to become bigger than this
|
|
net.ipv4.neigh.default.gc_thresh3=2048
|
|
|
|
# Tell the gc when to become aggressive with arp table cleaning.
|
|
# Adjust this based on size of the LAN. 1024 is suitable for most /24 networks
|
|
net.ipv4.neigh.default.gc_thresh2=1024
|
|
|
|
# Adjust where the gc will leave arp table alone - set to 32.
|
|
net.ipv4.neigh.default.gc_thresh1=32
|
|
|
|
# Adjust to arp table gc to clean-up more often
|
|
net.ipv4.neigh.default.gc_interval=30
|
|
|
|
# Increase TCP queue length
|
|
net.ipv4.neigh.default.proxy_qlen=96
|
|
net.ipv4.neigh.default.unres_qlen=6
|
|
|
|
# Enable Explicit Congestion Notification (RFC 3168), disable it if it doesn't work for you
|
|
net.ipv4.tcp_ecn=1
|
|
net.ipv4.tcp_reordering=3
|
|
|
|
# How many times to retry killing an alive TCP connection
|
|
net.ipv4.tcp_retries2=15
|
|
net.ipv4.tcp_retries1=3
|
|
|
|
# Avoid falling back to slow start after a connection goes idle
|
|
# keeps our cwnd large with the keep alive connections (kernel > 3.6)
|
|
net.ipv4.tcp_slow_start_after_idle=0
|
|
|
|
# Allow the TCP fastopen flag to be used, beware some firewalls do not like TFO! (kernel > 3.7)
|
|
net.ipv4.tcp_fastopen=3
|
|
|
|
# This will enusre that immediatly subsequent connections use the new values
|
|
net.ipv4.route.flush=1
|
|
net.ipv6.route.flush=1
|
|
|
|
# Tune TCP keepalive parameters
|
|
net.ipv4.tcp_keepalive_time = 60
|
|
net.ipv4.tcp_keepalive_intvl = 10
|
|
net.ipv4.tcp_keepalive_probes = 6
|