网上看到一些别人的sysctl调优片段,你也看不懂里面的意思,都不知道抄谁的更好,那怎么办,这时就可以参考gpt的答案来调整,
对你来说,抄别人的你也看不懂多少,抄gpt的你也看不懂,但gpt比小白更懂一点。这里就可以通过提示语来抄作业:
注:尽量选择高级点的AI模型来使用,优先选择有思考能力的,下面答案使用的是 GPT-4.1
提问:
vps服务器是1核1G , 带宽1G ,需要减少网络延迟和抖动,服务器上部署了网盘服务,需要上传和下载文件,还部署了依赖udp的服务,请提供调优参数,并整合调整下面的两份参数以适合服务器使用。
第一份:
net.core.rmem_max = 67108848
net.core.wmem_max = 67108848
net.core.somaxconn = 4096
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_rmem = 16384 16777216 536870912
net.ipv4.tcp_wmem = 16384 16777216 536870912
net.ipv4.tcp_adv_win_scale = -2
net.ipv4.tcp_sack = 1
net.ipv4.tcp_timestamps = 1
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_ecn=2
net.ipv4.tcp_slow_start_after_idle=0
net.ipv4.tcp_fastopen=3
fs.file-max = 1000000
fs.inotify.max_user_instances = 8192
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 32768
net.core.netdev_max_backlog = 32768
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_max_orphans = 32768
第二份:
net.ipv4.tcp_congestion_control=bbr
# 提高系统允许的最大连接数
fs.file-max = 100000
# 提升最大半开连接数
net.ipv4.tcp_max_syn_backlog = 2048
# 允许重用处于TIME-WAIT状态的socket用于新的TCP连接
net.ipv4.tcp_tw_reuse = 1
# 减少FIN-WAIT-2状态的时间
net.ipv4.tcp_fin_timeout = 15
# 提升本地端口范围
net.ipv4.ip_local_port_range = 1024 65000
# 启用TCP窗口缩放选项
net.ipv4.tcp_window_scaling = 1
# 增加TCP接收和发送缓冲区大小
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
# UDP接收缓冲区大小调整
net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288
# 增加UDP socket队列长度
net.core.netdev_max_backlog = 5000
# 提高UDP接收缓冲区默认值
net.ipv4.udp_mem = 65536 131072 262144
net.ipv4.udp_rmem_min = 16384
net.ipv4.udp_wmem_min = 16384
# 调整swappiness降低交换倾向
vm.swappiness = 10
# 设定脏页刷新比率
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
# 控制脏数据写回磁盘的频率
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
AI回答:(下面的答案就是可以抄的部分,根据我提供的场景做了调整)
你的VPS服务器配置为“1核1G内存,1G带宽”,同时需要优化TCP(上传/下载文件)和UDP(实时服务)网络,目标是减少延迟和抖动,同时保证资源不会被超量参数拖垮。下面是基于你两份参数的合理整合和适配建议,并附有每项参数的简要说明。
适合1核1G VPS的推荐 sysctl.conf 优化参数
# ---------- 基础文件句柄 ----------
fs.file-max = 100000 # 1G内存足够,防止过载,100000较为稳妥
fs.inotify.max_user_instances = 1024 # 适度即可
# ---------- TCP 优化 ----------
net.core.somaxconn = 4096
net.ipv4.tcp_max_syn_backlog = 2048 # 1G内存建议不超过2048~4096
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_fin_timeout = 15 # 减少TIME_WAIT时间
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_max_orphans = 4096 # 1G内存建议不超过4096
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_adv_win_scale = -2
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_ecn = 2
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_congestion_control = bbr
# ---------- UDP 优化 ----------
net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288
net.ipv4.udp_mem = 65536 131072 262144
net.ipv4.udp_rmem_min = 16384
net.ipv4.udp_wmem_min = 16384
# ---------- 网络队列 ----------
net.core.netdev_max_backlog = 5000 # 适度,防止丢包
# ---------- 端口范围 ----------
net.ipv4.ip_local_port_range = 1024 65000
# ---------- 路由相关 ----------
net.ipv4.route.gc_timeout = 100
# ---------- 队列和调度 ----------
net.core.default_qdisc = fq # 配合BBR减少延迟
# ---------- 内存相关 ----------
vm.swappiness = 10
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
参数说明与调优思路
- TCP/UDP缓冲区:1G内存下,rmem/wmem最大值建议不超过16MB,UDP单socket最大524288更稳妥。
- 队列与backlog:过大容易撑爆内存,4096/5000已足够。
- BBR+FQ:BBR拥塞控制+FQ队列调度,极大降低延迟和抖动,适合高带宽低延迟场景。
- TIME_WAIT等优化:减少TIME_WAIT数量/时间,提升短连接性能。
- 文件句柄:100000即可,防止极端情况下资源耗尽。
- 内存/脏页:适当降低swappiness和dirty比例,提升I/O响应。
- 端口范围:最大化并发连接能力。
适用场景说明
- 网盘上传/下载:TCP参数保证大文件高效传输。
- UDP服务:UDP队列和缓冲区防止丢包,适合实时性强的业务。
- 高并发/大带宽:BBR+FQ配合1G带宽,提升带宽利用率,降低延迟。
应用方法
- 将上述内容保存至
/etc/sysctl.conf
或/etc/sysctl.d/99-tune.conf
- 执行
sysctl -p
或sysctl --system
使参数生效
原创文章,作者:mantou,如若转载,请注明出处:https://v2ez.com/1513.html