2009-06-29 8 views
0

に非常に長い時間がかかります私たちは2つの異なる方法でメッセージを取得します: 1.フルフェッチ。 2.部分フェッチ(チャンクをフェッチ)。 フェッチフルフェッチ部分の最初のチャンクは限りアプリケーションが懸念されるように努力にほぼ同等です。何が起こるかは、しかし、クライアント(全身またはそれだけのチャンクのいずれか)に戻ってデータを送信するとき、我々はSSL暗号化によるとんでもない応答時間を得ることです。私たちは、明らかに大きいデータは、それはそれを暗号化するためにOpenSSLを要する多くの時間であることがわかり(サイズに対して線形、部分対フルは美しく、それを示しています。問題は、それがより多くの時間がかかることはありませんが、絶対時間、それはそのテイクオフ)。それは80kの完全なフェッチが7秒の応答時間(SSLを使用しないときにわずか1秒以上)をもたらす状況に繋がります。誰も似たような問題に遭遇したことはありますか?このようなオーバーヘッドが現実的である可能性はありますか?誰もが、外部アクセラレータを追加することなく、クライアントにデータを加速させるアイデアを持っていますか?おかげさまで OpenSSLの暗号化は、私の質問は、負荷時にはOpenSSLの暗号化コストを意味し、ここでの問題であり、負荷

答えて

0

あなたは、製品は、あなたが書いたプロキシですね言及しているので、私は最初の問題はNagle's algorithmに関係している可能性があるかどうかを確認することになります。ソケットの性能が床から落ちるのを見ると、これが私がチェックする最初のことです。基本的には、プログラムの正しい点にデータを書き込んだり、データをフラッシュしたりする必要があります。間違っていると、デフォルトでデータが送信される前に0.2秒の遅延があります。これらの遅延は、特に小規模な要求が頻繁に発生すると、すぐに増加します。

関連する問題