初期接続
最初の接続にはSSLのネゴシエーションが含まれていることがわかります。ハンドシェイクが高いため、SSLのセットアップ方法に重大な問題があることを示す良い指標となります。
Google Chrome:リソースのタイミングを理解する
TCPハンドシェイク/再試行やSSLのネゴシエーションなど、接続の確立にかかった時間。
SSLハンドシェイクとTTFB
SSLハンドシェイクの完了に費やした時間とTTFBを待機しているサーバー(最初のバイトまでの時間)の2つの主要な問題があります。
- TTFB:4079ミリ秒(1000ミリ秒未満である必要があります)
- SSLハンドシェイク11830ms(100ms未満である必要があります)
3G / 4Gデバイスでテストする場合、電話信号の強度が異なるため、最初のバイトが長くなる可能性があることにも注意してください。これにより、断続的な接続の問題が発生し、待ち時間が変動する可能性があります。
ステップ1:SSLの問題を調査する
SSLに重大な問題があることは明らかで、おそらくOpenSSLのインストールの失敗などが原因です。まず、SSL Labsを使用してSSL証明書をテストし、提案されている問題や警告を修正します。
SSLの動作が遅い場合は、サーバーが過負荷になっているか、サーバーに障害がある可能性があります。後者の場合は、障害のある場所を絞り込んで絞り込む必要があります。この問題についてさらに支援が必要な場合は、サーバー障害スタックを使用してください。あるユーザーは、新しいキーを作成すると、発生した低速のSSL問題が解決したと報告しました。
ロードバランサーは、サーバーリソースに問題がある場合に役立ちます。
ステップ2:TTFBの調査
調査してSSLの問題を解決してもTTFBが増加している場合は、十分なリソースがあることを確認してサーバーをテストする必要があります。
最初のバイト時間は以下に影響されますが、これらに限定されません。
- ユーザーからサーバーをホストするデータセンターまでの距離がTTFBを増加させる可能性があります
- キャッシュされていないGZIPはTTFBを増やすことができます
- 混雑したネットワークはTTFBを増加させる可能性があります
- 混雑したサーバーはTTFBを増加させる可能性があります
時には、CPUとRAMを増やすことが常に最良の選択肢であるとは限りません。ロードバランサーを導入すると、複数のサーバーを簡単に並べて実行できるだけでなく、実際にキャッシュとSSL要求の負荷を軽減できるため、導入する方が良い場合があります。他のいくつかの利点は次のとおりです。
ソース
- キャッシング:アプライアンスは、変更されないコンテンツ(画像など)を保存し、トラフィックをWebサーバーに送信せずにクライアントに直接提供できます。
- 圧縮:ファイルが送信される前にファイルを圧縮することにより、HTTPオブジェクトのトラフィック量を削減します。
- SSLオフロード:WebサーバーのCPUでSSLトラフィックの処理が要求されるため、代わりにロードバランサーがこの処理を実行できます。
- 高可用性:1つの障害が発生した場合に2つの負荷分散アプライアンスを使用できます。
TTFBを下げるためのヒント: