这个值还是当初直接复制网上教程的,填的 3。
想知道这个值有没有什么依据,目前配置是 1C1G1M,填多少最好呢?
1
PureWhiteWu 2019-09-12 12:29:01 +08:00
请自己先 Google。
去看看内核中对于 fastopen 值的定义是什么就能理解了。 |
2
weiruanniubi OP @PureWhiteWu 内核的值我知道,1 是服务端开启,2 是客户端开始,3 是全部开启。但是 NGINX 的我不理解,谷歌也没有。
|
3
ysc3839 2019-09-12 12:45:43 +08:00 via Android
fastopen=number
enables “TCP Fast Open” for the listening socket (1.5.8) and limits the maximum length for the queue of connections that have not yet completed the three-way handshake. Do not enable this feature unless the server can handle receiving the same SYN packet with data more than once. http://nginx.org/en/docs/http/ngx_http_core_module.html |
4
PureWhiteWu 2019-09-12 12:50:04 +08:00
|
5
swulling 2019-09-12 12:55:31 +08:00
首先你的内核必须支持并且开启了 fastopen
然后这个 number 应该就是 limits the maximum length for the queue of connections that have not yet completed the three-way handshake 里的 limits 写 3 有点小把,可以改成 500 具体是否生效,可以用 tcpdump 把包 dump 出来看看 |
6
weiruanniubi OP |
7
weiruanniubi OP @swulling 去掉了,感觉弊大于利的样子……
|
8
swulling 2019-09-12 13:03:46 +08:00 via iPhone
国内的配置文档就是瞎 JB 抄,有人按照内核的习惯设置为 3,结果都变成了 3,也没一个人验证下到底开启了没有。 国外的文章就很正常,还有 test code。
|
9
swulling 2019-09-12 13:04:30 +08:00 via iPhone
@weiruanniubi 还好,主要是降低了 latency。看你的应用是否对 latency 敏感。
|
10
weiruanniubi OP @swulling 是的,我也觉得是把内核值和这个搞混了……
|
11
6IbA2bj5ip3tK49j 2019-09-12 15:45:24 +08:00
这种参数一般两种选择
+ 看官网文档,调整之后自己测试。 + 假装不存在,直接删掉用默认的。 |