2010-11-18 13 views
0

私たちのアプリケーションは30秒以内に800画像をダウンロードする必要がありますが、1分間時間を増やしてもアプリケーションはすべての画像をダウンロードできません。ダウンロード時間を短縮する方法

ダウンロード速度を上げるにはどうすればよいですか? 30秒以内に800枚の画像をダウンロードできますか? 可能ですか?

誰かがお勧めしますか?

+4

は、画像のサイズを小さくしますか?より高速なインターネット接続を購入しますか? – Cascabel

+1

情報が不十分です。画像をダウンロードするのにどのようなコードを使用していますか?どのような高速ネットワーク接続がありますか?イメージの合計サイズは? – jrockway

答えて

1

あなたの目的のためにこれを行う方法はありません。より高速なネットワーク接続が必要な場合、またはダウンロードするイメージがより小さくなければなりません。 (ユーザーの側からのダウンロードをスピードアップすることができれば、オンラインゲームに遅れが生じることはありません)。

+0

アプリケーション開発者として、ネットワーク速度のパフォーマンスを向上させる方法はありますか? – teja1916

+0

特にJPEGの場合... – khachik

+1

No.ネットワークはハードウェアとソフトウェアの両方に基づいています。 10メガビット接続の場合は、10メガビット接続になります。 – syrion

1

イメージをZIPファイルに結合することができます。

5

イメージを一度に1つずつダウンロードしていますが、最初のイメージを待ってから2番目のイメージを要求しますか?並行して複数のダウンロードを開始した方が速く完了するかもしれませんが、あまり多くはありません!

3

速度がインターネット接続によって物理的に制限されない場合は、複数のスレッド/プロセスを使用してみてください。これは、大量ダウンローダの仕組みです。

1

複数のリソースを並行してダウンロードすると、ダウンロード時間が大幅に短縮される可能性があります。 forkは、並列実行に使用できます。

Parallel::ForkManagerをご覧ください。これは、手元に簡単に作業を完了するのに役立ちます。モジュールのPODにあるの説明セクションには、ダウンローダの例があります。

システム構成に基づいて、並列プロセスの最大数を調べる必要があります。プロセスが少なすぎると、パフォーマンスに影響を与える可能性があります。パフォーマンスに影響を及ぼします

要因は以下のとおりです。

  • CPU速度
  • CPUスケジューラ
  • メモリ
  • ネットワーク速度
  • ネットワークの輻輳
関連する問題