|
分類:[.NET 全般]
環境:VisualStudio2008(C#・ASP.NET)、IIS7.0
既存のWEBサーバーにデータダウンロード用のサイトを追加しようと考えています。 コード自体は簡単に実装できるのですが、気になるのは「ネットワークの負荷」です。
大サイズファイルのダウンロードを考えているので、複数のクライアントが同時に ダウンロードを始めると、過負荷によって、他のWEBページを参照しているクライアントに 影響があるのではないか(固まる等)と懸念しています。
そこで、このようなケースで負荷を分散するにはどのような方法があるのか知りたく 質問させていただきました。
いま思いついたもので、同時ダウンロードの最大件数を管理するというのを考えてみました。
・ダウンロード開始時にDBにレコードを追加(カウントアップ)、終了時にレコード削除する。 ・レコードが最大件数に達している場合は、ダウンロードを開始せず、数分後にリトライしてもらう。 ・ダウンロード中は、1分位の間隔で該当レコードの最終更新日時に現在時刻(タイムスタンプ)を記録する。 ・DBを監視するプロセスを別に設け、最終更新日時に現在時刻と2分以上の乖離がある場合はレコードを削除する。
このような仕組みなら可能な気がしますが、他に簡単に出来るものがあればご教授いただきたく。 よろしくお願いします。
|