Hatena::ブログ(Diary)

fuzzy Weblog@hatena (更新終了) RSSフィード Twitter

2005-10-28

ダウンロードツール(DLツール)が迷惑な理由

今晩は、海外からの不適切なダウンロード(アクセス)が激しいため、サーバーの動作状態が著しく悪くなっています。

当サイトでは分割ダウンロードをしないようにお願いしていますが、そもそも「分割ダウンロードは悪い」ということが知られていないのではないでしょうか。

  • 全てのアクセスには処理コストがかかっている

ウィルスワーム感染を防ぐため、そして不正なアクセスを防ぐために、Webサーバーへのアクセス(セッション)は全て一つずつ検査されています。このチェックのため、ルーターサーバーにはある程度の負担がかかっています(処理コストがかかっています)。

ですから、とても多くのアクセスは迷惑な行為とみなされます。内容によってはDoS攻撃とも呼ばれます。

ダウンロードツール(DLツール)には初期設定で10分割ダウンロードとなっているものが少なくないと思います。これはファイル全体を10個に分けて、10並列でダウンロードしていると理解しているかもしれませんが、それは間違いです。

実際には10回より多くのダウンロードが行われていて、数百〜数千回のダウンロードを行うケースが多いのです。数百〜数千のダウンロードが実行されると、それぞれに不正アクセス対策の検査が行われるため、転送効率が大きく悪化します。

ダウンロード回数が激増するのは、ダウンロードツール(DLツール)の設計に問題があると考えています。

最速でダウンロードを行うことを意図しているのか、トリッキーな挙動が観測されています。例えば、途中でダウンロードを中断してダウンロードサイズをどんどん小さくしていく場合や、最初から小さいサイズでダウンロードを多数実行するケースが多く見られます。

20MBのファイルを16KBずつダウンロードすると1,280回になりますし、200MBのファイルを16KBずつダウンロードすると12,800回にもなります。(16KBは観測される最小のサイズです)

このように一人が数百〜数千回のダウンロードを連続して行うと、アクセスの検査に10秒前後かかることがあります(ディスクのアクセスの待ち時間よりもはるかに長くなります)。そして、実際のデータ(16KB)のダウンロードには0.1秒もかかりません。つまり、分割ダウンロードするため転送速度が百分の一以下に落ちているのです。

転送速度を測りながらサイズを小さく変更するダウンロードツールの場合、最初は100KB〜1MBのサイズで分割するものの、上の状況の通り転送速度が低めに出るために16KBにサイズを下げてしまいます。そして、状況をさらに悪化させます。

    • 同時接続制御の問題

ダウンロードツール(DLツール)が10分割ダウンロードしたくても、Webサーバーが混雑しているために全て(10個)は受け付けられない場合がよくあります。また、サイトによって同時接続数を制限しているところが多数あります。

そのような状況でも、常に10個のダウンロードのリクエストを<待ち時間無し>で出し続けるダウンロードツール(DLツール)が多いようで、処理不可能なリクエストを延々と出し続ける→サーバーの処理の負荷が上がったままになるという状況になります(エラーで応答する場合でも処理コストがかかります)。

このために、状況を悪化させる→応答速度が悪くなる→転送速度が落ちるという悪循環になります。

大型のファイルのダウンロード公開の場合、メーカーサイトで複数のサーバーを用意する場合や、ミラーサイトを利用することがしばしばあります。しかし、ダウンロードツールでは重複したダウンロードを防ぐ仕組みが用意されていないのではないでしょうか。

例えば、あるサーバーダウンロード設定をしたものの、なかなかファイルが落ちてこないので、別のサーバーダウンロード設定をしたらすぐに落とせた場合、最初のダウンロード設定を残したままにするケースがあるように推測されています。そのため、混雑しているサーバーのリクエストが残ったまま減らない困った状況があると思われます。

サーバーの運用に支障をきたす原因が分割ダウンロードである場合、サーバー側で対策をしないで放置する(混雑したままにする)場合もありますし、利用者のIPアドレスを特定してアクセス禁止措置を取る場合もあります。また、ダウンロードツール(DLツール)が使えないように制限しているサイトもあります。

分割ダウンロードサーバー運用コストを本来の10倍以上に引き上げる迷惑行為ですから、そうならないような設定でダウンロードツール(DLツール)を使っていただきたいと思います。

fuzzy2fuzzy2 2005/10/29 09:44 DLツールが接続を繋いで切ってを頻繁に繰り返すから、
愉快なことに、接続セッション数が多すぎるために
逆に帯域が余る事態が所々で起きているようです。

jwojwo 2005/11/06 21:12 torrentつかったら?

otsuneotsune 2005/11/08 06:24 mod_limitipconnで防衛してDLツールを無効化するのはどうか。

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。