Linuxのネットワーク高速化

Linuxのネットワーク高速化

/etc/sysctl.confの末端に以下を追加し、OS起動時にも起こされる「sysctl -p」で反映。
※ディストリビューションにより、使用できないコンフィグがあります、エラーが吐かれた部分は飛ばしてOK。
2019/07/09 大幅改訂

#/etc/sysctl.conf最下行に以下を追加
net.core.netdev_budget = 50000
net.core.netdev_budget_usecs = 5000
net.core.netdev_max_backlog = 100000
net.core.optmem_max = 65536
net.core.rmem_default = 1048576
net.core.rmem_max = 16777216
net.core.somaxconn = 1024
net.core.wmem_default = 1048576
net.core.wmem_max = 16777216
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.log_martians = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.secure_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_abort_on_overflow = 1
net.ipv4.tcp_ecn = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_intvl = 10
net.ipv4.tcp_keepalive_probes = 6
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_low_latency = 0
net.ipv4.tcp_max_syn_backlog = 30000
net.ipv4.tcp_max_tw_buckets = 2000000
net.ipv4.tcp_moderate_rcvbuf = 1
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_orphan_retries = 3
net.ipv4.tcp_rfc1337 = 1
net.ipv4.tcp_rmem = 4096 1048576 2097152
net.ipv4.tcp_sack = 1
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.udp_rmem_min = 8192
net.ipv4.udp_wmem_min = 8192
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.accept_redirects = 0
net.ipv6.conf.default.disable_ipv6 = 1

#ネットゲームやストリーミングサービス等でラグ落ちが気になる場合、↑にあるこのコンフィグ値を入れ替える
net.ipv4.tcp_fastopen = 1

#コンフィグ編集後、「sudo sysctl -p」を実行
#NerWorkManagerを使用している場合、通信デュプレックスを1Gbpsに設定。
#もし上記を使っていない場合、「/etc/network/interfaces」最終行に以下を追加

up sleep5; /sbin/ethtool -s enp1s0 autoneg off speed 1000 duplex full

#sudo systemctl restart networking