Apache mpm 事件无法按预期使用 SSL/HTTPS

Apache mpm 事件无法按预期使用 SSL/HTTPS

Apache/2.4.6 (CentOS)我有一台带有+ 的服务器OpenSSL/1.0.2k-fips(我知道这是 Apache 的旧版本,但目前无法升级)。mpm 事件用于多处理。

提供内容时HTTP,一切都按预期进行:

在此处输入图片描述

服务器可以毫无问题地同时处理许多请求(测试大约有 150 个客户端,每个客户端创建 4 个并行连接 = 600 个连接)。所有请求都以静态内容为目标并使用 keepalive。

HTTPS/SSL,情况就不同了。

在此处输入图片描述

它将快速使用所有 400 个可能的线程(见记分牌)。不会建立异步连接。据我所知,它的行为类似于mpm worker

起初我以为这是一个限制,并且mpm event只适用于 HTTP。但这并不是文档(在下面怎么运行的>异步连接):

这些改进对于 HTTP/HTTPS 连接都有效。

编辑:有一些信息限制部分文档这说明在某些情况下它可能会回到mpm worker。然而,这似乎并不适用于这里。

答案1

在查看 Apache 源代码以了解可能的mpm worker回退条件时,我发现了以下相关内容评论

如果我们有一个输入过滤器,它“堵塞”了输入流,就像 mod_ssl 以前那样,那么我们就从输入过滤器进行正常读取,就像 Worker MPM 所做的那样。

由于我使用的是旧版本的 Apache,这可能导致其mpm event无法很好地与 SSL 配合使用。

编辑:看起来这已经完成了犯罪

核心,mod_ssl:解除阻止 mod_ssl 充分利用事件 MPM 的限制。

我使用 Apache 2.4.6,并且后来在 中发布了变更2.4.7

相关内容