18

大きなファイルを処理するのに最適なチャンクサイズなどはありますか?数百メガバイトの範囲のファイルのアップロードを受け入れるために使用されるアップロードサービス(WCF)があります。

私は4KB、8KBから1MBのチャンクサイズで実験しました。チャンクサイズを大きくすると、パフォーマンスが向上します(処理が高速になります)が、メモリが犠牲になります。

だから、ファイルをアップロードするときに最適なチャンクサイズを見つける方法はありますか?そのような計算をどのように行うのでしょうか?最適なサイズを決定するのは、使用可能なメモリとクライアント、CPU、およびネットワーク帯域幅の組み合わせでしょうか?

乾杯

編集:おそらく、クライアントアプリがSilverlightになることを言及する必要があります。

4

1 に答える 1

8

リソースの不足が心配な場合は、システムの使用可能なメモリに対してアップロードのピーク同時実行性を評価することで、最適なものを決定するのが最適です。一度に進行中の同時アップロードの数は、実行する計算の重要な変数になります。あなたがしなければならないのは、アップロードの同時実行を処理するのに十分なメモリがあることを確認することだけです、そしてそれは達成するのはかなり簡単です。メモリは安価であり、同時実行性がメモリの可用性を超えてしまうポイントに到達するずっと前に、ネットワーク帯域幅が不足する可能性があります。

パフォーマンスの面では、これはアプリの設計と開発中に実際に最適化できるようなものではありません。システムを設置し、ユーザーが実際にファイルをアップロードする必要があります。そうすれば、実際のランタイムパフォーマンスを監視できます。

ネットワークのTCP/IPウィンドウサイズと一致するチャンクサイズを試してください。これは、設計時に実際に取得する必要があるのとほぼ同じくらい最適です。

于 2010-09-09T04:12:33.830 に答える