文章
生活

附一份經最佳化的用於網路代理伺服器的 sysctl.conf 設置檔

大家好,我是一位只看貼很久的網友了,從發現這個網站開始,像是打開了新世界的大門。真的非常感謝很多人慷慨的解答和分享。因此我也想希望能幫到各位,所以就分享一下一些自己的心得好了。

之前也看到很多人對於搭建代理伺服器這方面有許多的研究,但他們似乎都忽略了一個問題,那就是對作業系統本身的調優。因此我來分享一下自己在用的配置檔好了。我想也能幫助到有需要的人節省時間。(用了兩年時間測試,如果可以正確使用,能獲得很大的效能提升) 如果之前沒有專門修改過的話,可以直接Copy過去用。

適用平臺: KVM虛擬伺服器 物理伺服器 面向的硬體配置級別: 單核心 1GiB RAM或以下 適用的發行版:Debian Centos Ubuntu 適用的Kernel版本: 5.1以上

kernel.sysrq = 0
kernel.panic = 0
kernel.watchdog = 0

net.core.default_qdisc = cake
net.core.netdev_max_backlog = 4096
net.core.rmem_max = 4000000
net.core.rmem_default = 4000000
net.core.wmem_max = 4000000
net.core.wmem_default = 4000000
net.core.somaxconn = 1048576
net.core.optmem_max = 40960
net.core.netdev_budget = 400

net.ipv4.tcp_congestion_control = bbr
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 300
net.ipv4.tcp_keepalive_probes = 2
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_comp_sack_nr = 0
net.ipv4.ip_no_pmtu_disc = 0
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_base_mss = 1024
net.ipv4.tcp_ecn = 1
net.ipv4.tcp_ecn_fallback = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_fastopen = 0
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_tw_reuse = 2
net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_retries1 = 3
net.ipv4.tcp_retries2 = 3
net.ipv4.tcp_fin_timeout = 3
net.ipv4.tcp_max_tw_buckets = 32768
net.ipv4.ip_default_ttl = 255
net.ipv4.tcp_window_scaling = 1
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
net.ipv4.tcp_low_latency = 1
net.ipv4.ip_forward = 1
net.ipv4.ip_early_demux = 0
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_orphan_retries = 2
net.ipv4.tcp_min_tso_segs = 2
net.ipv4.tcp_tso_win_divisor = 2
net.ipv4.tcp_moderate_rcvbuf = 1
net.ipv4.tcp_adv_win_scale = 2
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_comp_sack_delay_ns = 1000000
net.ipv4.tcp_rfc1337 = 1
net.ipv4.tcp_early_demux = 0
net.ipv4.udp_early_demux = 0
net.ipv4.tcp_recovery = 1
net.ipv4.tcp_frto = 2
net.ipv4.tcp_min_rtt_wlen = 30
net.ipv4.tcp_reordering = 12
net.ipv4.tcp_max_reordering = 500
net.ipv4.ipfrag_time = 60
net.ipv4.ping_group_range= 0 10
net.ipv4.route.min_adv_mss = 1024
net.ipv4.route.gc_interval = 30
net.ipv4.route.gc_min_interval = 0
net.ipv4.route.gc_min_interval_ms = 200
net.ipv4.route.gc_thresh = -1
net.ipv4.route.gc_timeout = 200
net.ipv4.tcp_invalid_ratelimit = 100
net.ipv4.tcp_min_snd_mss = 48
net.ipv4.tcp_notsent_lowat = 16384
net.ipv4.tcp_thin_linear_timeouts = 1

net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.accept_ra = 2
net.ipv6.conf.all.proxy_ndp = 1
net.ipv6.conf.all.hop_limit = 128
net.ipv6.conf.default.hop_limit = 128
net.ipv6.route.min_adv_mss = 1024
net.ipv6.route.mtu_expires = 600
net.ipv6.ip6frag_time = 60
net.ipv6.route.gc_interval = 30
net.ipv6.route.gc_min_interval = 0
net.ipv6.route.gc_min_interval_ms = 200
net.ipv6.route.gc_thresh = -1
net.ipv6.route.gc_timeout = 200

vm.swappiness = 100
vm.vfs_cache_pressure = 200
vm.dirty_writeback_centisecs = 500
vm.dirty_expire_centisecs = 1000
vm.dirty_ratio = 4
vm.dirty_background_ratio = 2
vm.min_free_kbytes = 150000
vm.max_map_count = 262144
vm.page-cluster = 4
vm.zone_reclaim_mode = 2
vm.dirtytime_expire_seconds = 21600
vm.overcommit_memory = 0
vm.overcommit_ratio = 25
vm.extfrag_threshold = 10
vm.memory_failure_early_kill = 1

fs.aio-max-nr = 1048576
fs.lease-break-time = 10

net.nf_conntrack_max = 1048576
net.netfilter.nf_conntrack_buckets = 32768
net.netfilter.nf_conntrack_tcp_timeout_established = 1800
net.netfilter.nf_conntrack_sctp_timeout_established = 1800
net.netfilter.nf_conntrack_dccp_timeout_open = 1800
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 30
net.netfilter.nf_conntrack_tcp_timeout_max_retrans = 15
net.netfilter.nf_conntrack_frag6_low_thresh = 196608
net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 30
菜单