2012-04-10 13 views
0

私は、ホスティングを提供するいくつかのサービスからファイルをダウンロードしてきました。非常に頻繁に、無料のユーザーとしてFirefoxをダウンロードすると(他のブラウザもチェックしていないが)、ダウンロード速度は400KBで、仕上げまでに10分かかることがわかっている。これはBSです。ファイルのダウンロードには45分以上かかります。 「1分40秒の再覚醒」が数秒間表示されます。ダウンロード時間の偽装推定

ユーザーにはより高速です。彼らはどのようにそれをするのですか?このHTTPプロトコルは不正なのかブラウザの不正行為ですか?なぜFirefoxは間違った価値を見せているのですか?

答えて

1

私は決してこれを経験したことはありませんが、再びFirefoxを使ってファイルをダウンロードすることはありません。

しかし、リモートサーバーは高速でファイルを送信している可能性がありますが、「フリーユーザー」の速度に平均して短いバーストのデータが送信されている可能性があります。 Firefoxは、全体の平均速度ではなく、これらのバースト中にデータがダウンロードされる速度を見ている可能性があります。

+1

これは仕様です。例えばhttps://rapidshare.com/またはhttp://uploaded.to/を実行してください。 95%のユーザーがブラウザを使用してダウンロードするので、何とかこの見積もりを偽装することができます。 –

+0

私はこれが少なくとも私にとってはそうだと思います。私が見ていることは、ある時間が経過して再び開始されるまで、ダウンロードは時間がたつと止まってしまうようです。 – chamibuddhika

-1

気分を良くするために多くのプログレスバーが存在します。ファイルをダウンロードする場合など、正確に見積もるのは非常に難しいです。

いくつのパケットがドロップされ、再送信されますか?もしあなたのマシンとサーバーの間のどこかで帯域幅が詰まったら?どのくらいのデータを送信する必要がありますか? (ファイルのダウンロードでは、まずメタデータを送信することができますが、これは多くの場合、多くの場合複雑になる可能性があります)。

これらはすべて正確に回答するのが難しいまたは不可能な質問であり、推測するには問題がある可能性があります。

ユーザDon't perceive download times accurately anywayというユーザーのアイデアが反映されており、正確なプログレスバーを実装する見込みは非常に魅力的ではありません。簡単な方法は、進捗バーを作ることです。最良の実装でさえ、絶え間なく最良の推測を改訂しているだけであり、その推測の正確さについては保証できません。

解決策は、いくつかの懐疑的な点でダウンロード時の見積もりを処理することです。

+0

これは正確な推定ではありません。それは、より高い秩序または大きさである。 –

+0

ブラウザには残り時間があり、これが理由です。ブラウザは実際の残り時間を確実に判断できません。しばしば不正確なプログレスバーを持つことと、プログレスバーを全く持たないことのどちらかを選択すると、フィードバックの有用性にかかわらず、ユーザーはいくつかのフィードバックに満足しています。これを念頭に置いて、傾向は推測しようとするプログレスバーに向いていますが、しばしばそれを作ります。 –

+0

@Chris:いいえ、プログレスバーは今日の通常のダウンロードではうまく機能します。確かに、レートが途中で下がった場合には適応するかもしれませんが、質問は何か別のものについてです。いくつかのサーバーがフリーのユーザーを苛立たさせるために使用される特別なトリック(おそらくCRCチェックに失敗し、その結果破棄されるコンテンツを含むパケットを送信すること)があります。これは遠隔であなたの非常に一般的な発言に関連しており、どのように/すべて/ダウンロードバーが推測されているかを述べています。 – DerManu

-1

は、ここで実際の帯域幅を取得する方法は次のとおりです。

https://superuser.com/questions/356907/how-to-get-real-time-network-statistics-in-linux-with-kb-mb-bytes-format-and-for

が実行可能な "netbps"

#!/usr/bin/perl 
use strict; 
use warnings; 
use Time::HiRes; 

my $reporting_interval = 10.0; # seconds 
my $bytes_this_interval = 0; 
my $start_time = [Time::HiRes::gettimeofday()]; 

while (<>) { 
    if (/ length (\d+):/) { 
    $bytes_this_interval += $1; 
    my $elapsed_seconds = Time::HiRes::tv_interval($start_time); 
    if ($elapsed_seconds > $reporting_interval) { 
     my $bps = $bytes_this_interval/$elapsed_seconds; 
     printf "%02d:%02d:%02d %10.2f Bps\n", (localtime())[2,1,0],$bps; 
     $start_time = [Time::HiRes::gettimeofday()]; 
     $bytes_this_interval = 0; 
    } 
    } 
} 

はsudo tcpdumpの-i wlan0 -l -e -nと呼ばれるこのスクリプトを作成します| ./netbps

私が言うことができるのは、Firefoxが間違っていることです。このスクリプトは、1秒あたりのバイト数を見積もります。これは、Firefoxの推定値の約1/4です。そう新しいルール:それは本当の時間を得るために、firefoxがあまりにも短い時間に4を掛けているように感じるなら感じます。