Apache mpm イベントが SSL/HTTPS で期待どおりに動作しない

Apache mpm イベントが SSL/HTTPS で期待どおりに動作しない

Apache/2.4.6 (CentOS)私は+を搭載したサーバーを持っていますOpenSSL/1.0.2k-fips(これは Apache の古いバージョンであることはわかっていますが、現在はアップグレードできません)。 mpm イベントはマルチ処理に使用されます。

コンテンツを提供する場合HTTP、すべてが期待どおりに動作します。

ここに画像の説明を入力してください

サーバーは、問題なく多数のリクエストを同時に処理できます (テストは約 150 のクライアントで実行され、各クライアントは 4 つの並列接続 = 600 の接続を作成しました)。すべてのリクエストは静的コンテンツを対象とし、キープアライブを使用します。

の場合はHTTPS/SSL話は別です。

ここに画像の説明を入力してください

400 個のスレッドすべてをすぐに使用します (スコアボードを参照)。非同期接続は行われません。私の知る限り、次のように動作しますmpm worker

最初はそれが制限事項で、mpm eventHTTPでのみ機能するものだと思っていました。しかし、これはドキュメンテーション(下使い方>非同期接続) :

これらの改善は、HTTP/HTTPS 接続の両方に有効です。

編集:いくつかの情報があります制限事項セクションドキュメンテーション場合によっては にフォールバックする可能性があることを説明していますmpm worker。ただし、ここでは当てはまらないようです。

答え1

フォールバック条件の可能性のあるApacheソースコードを調べていたところmpm worker、次のような関連事項が見つかりました。コメント:

以前の mod_ssl のように、入力ストリームを「詰まらせる」入力フィルターがある場合は、Worker MPM のように、入力フィルターから通常の読み取りを実行しましょう。

古いバージョンの Apache を使用しているため、mpm eventSSL がうまく動作しない可能性があります。

編集:これはこれで行われているようです専念:

core、mod_ssl: mod_ssl がイベント MPM を最大限に活用することを妨げる制限を解除します。

私は Apache を使用しており2.4.6、変更は後で でリリースされました2.4.7

関連情報