0


ユーザーが大きなテキスト ファイル (1 ~ 15 MB) の CSV ファイルをダウンロードする必要が
あり、Excel を使用して編集した後 、同じページの Web ブラウザーを使用してサイトに
そのまま再アップロード (編集された CSV)する状況があります。

ダウンロード
に gzip エンコーディングが適用され、ユーザーに送信されるコンテンツは gzip 圧縮されます (firebug で確認)

問題は 、ユーザーが編集したファイルを再アップロードすると、
圧縮されていないテキストとして送信されることです (そうですか?)。
制限されたユーザー帯域幅 (約 50 ~ 128 KBps アップロード)
と非常に大規模なユーザー ベース (100 人以上の同時ユーザー)では 、同時アップロード/ダウンロードが実行される
と、サイトが許容できないパフォーマンス (1 分以上の応答時間)に追い込まれます。

質問:
バック グラウンドで gzip コンテンツ エンコーディングと圧縮を使用し て、HTTP Post 経由でクライアント ブラウザにファイル アップロードを送信させるにはどうすればよい
ですか?

アップロードする前にファイルを圧縮するようにユーザーに指示することはできます
が、さまざまなアーカイブ ファイル形式が生成される可能性が
あり、ユーザーが「アーカイブ」を採用するための手順を追加するという状況を考慮すると、実行可能なオプションではありません。

編集


サーバー側の解凍処理​​は、すでにビジー状態のサーバーに負担を追加します。

言い換えた

一方、さまざまな形式のサーバー側の解凍ロジックは
、サーバー側のコードを複雑にします。 圧縮を使用することで転送時間と帯域幅の使用量が削減さ
れるため、圧縮解除の負荷自体は許容範囲内です。

情報

  • サーバー: IIS
  • ASP.NET MVC 3、
    Visual Studio 2010 C# 4.0、
    DevExpress 12 MVC 拡張機能、
    UploadControl コンポーネントを使用して作成

同様の質問では、望ましい答えが得られません。

ブラウザから送信された HTTP 投稿データの圧縮

一部は未回答のままです:

投稿データの http 圧縮を実装する

4

1 に答える 1

0

サーバー側の解凍処理​​は、すでにビジー状態のサーバーに負担を追加します。

ダウンロードに gzip を使用すると、一般に、解凍よりも圧縮の方がプロセッサに負荷がかかります。

アップロードのために魔法のように gzip を強制する方法はありません。たとえそれを管理したとしても、解凍は常にサーバーによって行われますが、これは望ましくありません。

あなたのソリューションは、もはやサービス要件を満たしていないように思えます。おそらく、それと一緒に暮らすか、何らかのアップグレードに直面する必要があります.

于 2013-09-05T11:16:56.087 に答える