web-dev-qa-db-ja.com

遅いSSLApacheサーバー

SSL256ビット証明書を使用した低速のApacheサーバーに問題があります

ab -n 500 https://example.com/
Time per request 29 ms

ab -n 500 http://example.com/
Time per request 10 ms

52バイトが両方のリクエストで送信され、テストは同じデータセンター内のサーバーから実行されます

conf

SSLEngine on
SSLProtocol All -SSLv2
SSLHonorCipherOrder On
SSLCipherSuite ALL:!ADH:!EXP:!LOW:!RC2:!3DES:!SEED:!RC4:+HIGH:+MEDIUM

SSLがプレーンHTTPリクエストより3倍遅いのは正常ですか?

2
clarkk

サーバーをどのようにベンチマークしましたか? HTTPSサーバーの背後で実行されているアプリケーションは何ですか?サーバーはどのCPUを使用していますか?どのように見ることができますか、あなたの質問には多くの重要な詳細が欠けています...

とにかく、SSLは確かに「純粋な」HTTPよりもいくらか遅くなります。公開鍵暗号化は対称鍵暗号化よりもはるかに遅くなります。これが、公開鍵が秘密の対称鍵を交換するためにのみ使用され、チャネルが対称鍵に切り替わる理由です。キー暗号。

7
shodanshok

HTTPSは、交換するデータ(サーバーからのX.509証明書)が多いため低速であり、セットアップするための安全なデータ接続があります...

abは「接続」時間を与えることができ、そこでタイミングの違いがわかります。 TLSのセットアップには、セットアップがない場合よりも時間がかかります。

2
Etienne Bagnoud

abの機能とブラウザの機能の違いを理解する必要があります。 (私はそれについて十分に精通していないので、abが何をするかについては答えません)。

例えば:

  1. abはTLSセッションの再利用を使用していますか?ブラウザーは、そのため(後続の要求に対して)、はるかに高速に実行されます。これはwiresharkで確認できます(おそらく https://ask.wireshark.org/questions/9007/ssl-session-reuse 便利です)
  2. abは遅いことがわかっている暗号を使用していますか(どの暗号がネゴシエートされるかはssl_request_logで確認できます)
  3. HTTPS接続でHTTPキープアライブをサポートしていますか?ページ上のすべてのアセットをプルするのに十分な時間であっても、そうする必要があります。これにより、サーバーに対して行われるSSL/TLS要求の数が実際に削減されます。
  4. サイトにキャッシュに適したコンテンツがありますか(特にブラウザのキャッシュ用)-Cache-Control: public, max-age=3600, s-max-age=3600などの応答ヘッダーを使用していますか。

それらに集中すれば、HTTPSのみのサイトを簡単かつ迅速に実行させることができます。これは、(事実上)HTTPSのみであるビデオストリーミングサイトに対して私が行うことであり、SSL接続時間について心配する必要はありませんでした。

2
Cameron Kerr

はい、HTTPSの接続確立はHTTPの約3倍遅いのが普通です。ここに 理由を説明するのに良い読み物

0
dtoubelis

ウェブサイトの速度が低下する理由:

  • SSL証明書には、ハンドシェイク中のデータ量を増やすいくつかの中間証明書が含まれています。

  • WebサイトがOCSP要求への応答と接続の確立に1/3秒かかるため、OCSPとCRLのパフォーマンスも修正されません。

高速HTTPS接続の推奨事項:

  • CPUリソースの使用率は、テキストコンテンツを圧縮するか、現在のプロセスをアップグレードして暗号化タスクを処理することで軽減できます。

  • ページ上のすべてがHTTPS経由で取得されていることを確認する必要があります。

  • [〜#〜] spdy [〜#〜] -ウェブページの読み込み時間を最小限に抑えるGoogleのオープンソースネットワークプロトコルを活用してください。

  • 認証局側では、CAは OCSPおよびCRLの応答時間を短縮 300msから100ms(ミリ秒)にできます。

  • CAは、追加のバイトと時間を消費するため、SSL証明書の中間チェーンサイズを減らすことができます。

0
Jason Parms