F5 HTTP/2 配置文件的当前默认值为每连接并发流数 10。这似乎有点保守。IETF 建议此值不小于 100,以免不必要地限制并行性https://www.rfc-editor.org/rfc/rfc7540#section-6.5.2
例如,NGINX 的默认最大并发 HTTP/2 流数为 128,而 Citrix Netscaler 的默认最大并发 HTTP/2 流数为 100。Tomcat 和 Apache 也是如此。
那么,我们是否应该将此值从 10 调高到 100?这会对设备产生什么影响?此外,我们是否还应该调整其他默认参数以获得更好的性能?
答案1
那么,我们应该将这个值从 10 调高到 100 吗?
我肯定会将其设置为 100+,因为从性能角度来看,这是一个更好的值,可以充分利用 HTTP/2 并行性。
这会对设备产生什么影响?
HTTP/2 在加载打开多个并行连接的网站时会有更好的性能,但从安全角度来看,如果恶意客户端能够获得可能具有 100 个并行连接的连接(而不是只有 10 个),他们可能会更快地耗尽 BIG-IP 资源。
另外,我们是否还应该调整其他默认参数以获得更好的性能?
这取决于您的应用要求和环境。例如,在可靠的网络中,您可能希望增加帧大小(指定 HTTP/2 数据帧的有效负载的最大大小)或将空闲超时减少到 60 秒(默认值 = 300 秒),以避免连接不必要地处于空闲状态。
请查看我的文章,因为其中有每个设置的描述:
BIG-IP HTTP/2 配置文件概述: https://support.f5.com/csp/article/K04412053
我还为 DevCentral 写了一篇概述:HTTP/2 协议简明英语: https://devcentral.f5.com/s/articles/http-2-protocol-in-plain-english-using-wireshark-33639
干杯,罗德里戈。