2016-07-20 24 views
0

私はHTTPS経由でデータの小さな部分を頻繁に送信するクライアントを作成しています。データは、UTF-8の50文字から10 KBの文字(人間が判読可能なログデータなど)であれば何でもかまいません。私はRFC標準HTTP圧縮を使用しています。HTTP POSTデータをいつ圧縮するのですか?

CPU消費を最適化する必要があります。文字列が100文字を超える場合はのようなしきい値があるのだろうかと疑問に思うのですが、圧縮する価値があります

HTTPペイロードには常に圧縮を適用する必要がありますか?

答えて

0

私の意見では、非常に小さいファイルの圧縮に起因するCPUオーバーヘッドはゼロに近いです。だから、私はそれがファイルサイズのテストを行う価値があるとは思わない。

説明の中で最も心配しているところは、実際にはHTTPS経由で多くの小さなリクエストがあることです。まだそうでない場合は、100バイト程度を圧縮するよりも多くのCPUを消費する可能性のあるSSLハンドシェイクを避けるために、SSLセッションキャッシュを有効にすることをお勧めします。

+0

あなたの答えをありがとう。 CPUプロファイラを使用すると、圧縮率が最も高くなるため、その影響を軽減しようとしています。再SSLセッションキャッシュ - 良いコール、私はそれがすでにオンになっていることを確認しました。実際、CURL(これは私が使用している)ではデフォルトでオンになっています。 – oleksii

+0

圧縮はCURLの外側で実行されると思いますか? (私はCURLがPOSTデータ圧縮をネイティブにサポートしているとは思わない)DEFLATEスライディングウィンドウのサイズを小さくして、大きなファイルの負荷を減らそうとしていますか? (ただし、圧縮率をやや低くすることは問題ありません)また、一度圧縮されたファイルは圧縮されていますか? (あなたのプロジェクトでそれが意味をなさなくならば) – Arnauld

+0

圧縮はCURLの外で行われ、HTTP POSTのコンテンツ圧縮はサポートされません。私はリアルタイムログと同等のものを送信しているので、スライディングウィンドウのサイズはすでに約1秒です。高負荷(10kメッセージ/秒)では、私はそれを圧縮することによって多くの利益を得る。私は圧縮率について演奏することができました。それは決して考えられませんでした。ご協力いただきありがとうございます。 – oleksii

関連する問題