web-dev-qa-db-ja.com

HTTPSハンドシェイクで使用されたバイト数をカウントする方法

このアプリケーションは、HTTPSを介して比較的多数の小さな要求(応答<50バイト)を送信します。サーバーの帯域幅の使用量を減らしたいのですが。 SSL接続を確立するために何バイトが使用されているかを知り、これを最適化する価値があるかどうかを確認したいと思います(SSL証明書を置き換える可能性がありますか?)。

WebサイトのSSLの正確なオーバーヘッドを測定するために使用できるコマンドまたはツールはありますか?

2
Derek Chan

Wireshark を使用して、クライアントとサーバー間の要求を記録できるはずです-証明書がある場合は、必要に応じてSSLトラフィックを復号化して、各パケットで何が起こっているかをよりよく確認できます。

キャプチャを開始する前に、マシン上の他のトラフィックをできるだけ多く停止する必要がありますが、完全にクリアできない場合は、右クリックして単一のTCPストリームを表示できるはずです。そのストリーム内の単一のパケットとクリックフォローTCPストリーム

0
James Ruskin

待ち時間が非常に短いが帯域幅の接続が少ない場合を除いて、主なパフォーマンスの問題はTLSハンドシェイクで転送されるバイト数ではなく、TCP接続のセットアップに必要な数回のラウンドトリップです。上部のTLSハンドシェイク。

したがって、アプリケーションを変更して、複数のメッセージに同じTLS接続を使用するようにするか、少なくともセッションの再開を実装することをお勧めします。セッションの再開により、必要なラウンドトリップが削減されるだけでなく、ハンドシェイク内で送信されるバイト数も大幅に削減されます。

また、他の回答で示唆されているように、wiresharkは、このような問題(転送されたバイト数や遅延など)を追跡し、最適化後の影響を確認するための便利なツールです。

3
Steffen Ullrich