6

私は ASP.Net でファイル アップロード コントロールを使用しており、以下のブログのアプローチに従いました。

http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx

デフォルトの 4MB は machine.config で設定されていますが、web.config でオーバーライドできます。たとえば、アップロードの制限を 20MB に拡張するには、次のようにします。

<system.web>
  <httpRuntime executionTimeout="240" maxRequestLength="20480" />
</system.web>

質問: 要求された長さをどのレベル (最大サイズ) まで増やすことができますか? また、ユーザーが 50 ~ 60 MB のファイルをアップロードできるようにした場合、サイトのパフォーマンスにどのような影響がありますか?

4

1 に答える 1

5

フィールドの「理論上の」最大レベルは、maxRequestLength符号付き 32 ビット整数データ型 ( Int32.MaxValue) の最大値です。

ただし、パフォーマンスを理解するには、アップロードをテストする必要があります。

編集:

Microsoft サポート チケットから:

理論的には、最大ファイル アップロード サイズはかなり大きくなります。ただし、ASP.NET の正常性監視のため、ASP.NET で非常に大きなファイルをアップロードすることはできません。ASP.NET ワーカー プロセスには、2 ギガバイト (GB) の仮想アドレス空間があります。ただし、ASP.NET ワーカー プロセスは、正常性の監視とメモリの断片化のために 1 GB 強しか使用しません。

アップロード プロセス中、ユーザーがファイルをディスクに保存する前に、ASP.NET はファイル全体をメモリに読み込みます。したがって、Machine.config ファイルの processModel タグの memoryLimit 属性が原因で、プロセスがリサイクルされる場合があります。memoryLimit 属性は、プロセスが自動的にリサイクルされる前に、ASP.NET ワーカー プロセスが消費できる物理メモリの割合を指定します。リサイクルにより、メモリ リークによって ASP.NET がクラッシュしたり、応答が停止したりするのを防ぐことができます。

さらに、アップロードできる最大ファイル サイズには、他の要因も影響します。これらの要因には、使用可能なメモリ、使用可能なハード ディスク容量、プロセッサ速度、および現在のネットワーク トラフィックが含まれます。アップロードされるファイルの通常のトラフィックでは、10 ~ 20 メガバイト (MB) の範囲の最大ファイル サイズを使用することをお勧めします。ファイルをほとんどアップロードしない場合、最大ファイル サイズは 100 MB になることがあります。

注 ASP.NET では、100 MB を超えるファイルをアップロードできます。ただし、マイクロソフトは、この記事に記載されている最大ファイル アップロード サイズに従うことをお勧めします。より正確なファイル サイズを決定するには、運用環境で使用されるものと同様のコンピューターでストレス テストを実行します。

于 2013-03-06T13:46:41.197 に答える