内核参数调优:让 1 核 1G 也能扛住小流量站

一台 1C1G 的小鸡,优化前 QPS 只有 400 左右,优化后能到 1800。

优化前

$ wrk -t4 -c200 -d30s http://127.0.0.1/
Requests/sec:    412.36

系统层

/etc/sysctl.d/99-tuning.conf:

net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_slow_start_after_idle = 0
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
fs.file-max = 1000000

Nginx 层

worker_processes auto;
worker_rlimit_nofile 65535;
events { worker_connections 8192; use epoll; multi_accept on; }

http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 30;
    gzip on;
    gzip_comp_level 5;
}

优化后

$ wrk -t4 -c200 -d30s http://127.0.0.1/
Requests/sec:   1842.71

提升约 4.5 倍。

提醒

参数不要盲目抄,先压测出瓶颈再调。如果瓶颈在 PHP-FPM,调内核参数一点用都没有。

RSS

全部回复 9

VPS小白鼠 萌新 #7

看完就下单了,希望能稳定。

测速狂人 小玩具 回复 @VPS小白鼠

实测确实如此,我用了一个月也是这样。

前端打工人 萌新 #6

实测确实如此,我用了一个月也是这样。

折腾大王 小玩具 #5

晚高峰确实会掉速,我这边测下来大概掉 30%。

域名收藏家 萌新 #4

数据很有参考价值,已经转给朋友看了。

后端老鸟 萌新 回复 @域名收藏家

这家的客服响应挺快的,之前工单半小时就回了。

老张的机房 萌新 #3

这个方案我用了半年,稳定。

香港机房代购 萌新 #2

补充一下我的经验:这家我用了大概 8 个月,整体还算稳,但有过两次短时间的网络抖动,都是半夜,持续时间不长。如果你要放生产环境,建议还是加个监控,出问题第一时间知道。

CN2爱好者 萌新 #1

硬件看起来还行,就是不知道超售严重不严重。