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 個可能的線程(請參閱記分板)。不會建立任何非同步連線。 AFAIK 它的行為就像mpm worker

起初我認為這是一個限制,並且mpm event只適用於 HTTP。但這並不是書中所寫的文件(在下面怎麼運作的>非同步連接):

這些改進對於 HTTP/HTTPS 連線均有效。

編輯:有一些訊息限制的部分文件這解釋了在某些情況下它可能會回落到mpm worker。但它似乎並不適用於此。

答案1

在查看 Apache 原始程式碼以了解可能的mpm worker後備條件時,我發現了以下相關內容評論

如果我們有一個「阻塞」輸入流的輸入過濾器,就像 mod_ssl 過去那樣,那麼我們只需從輸入過濾器中進行正常的讀取,就像 Worker MPM 所做的那樣。

由於我使用的是舊版的 Apache,因此不能mpm event很好地使用 SSL。

編輯:看起來這已經在這裡完成了犯罪

core、mod_ssl:解除阻止 mod_ssl 充分利用事件 MPM 的限制。

我使用 Apache 2.4.6,更改已在稍後以2.4.7.

相關內容