私は現在、これを使用してxargs -n 1 -P 24 curl -s -w '%%{url_effective}\t%{time_total}\n' -o /dev/null < mirrors.txt
各画像の応答時間をテストしています。curl
最初/最速のインスタンスが完了したら、すべてのインスタンスを終了できるようにしたいです。これが最善のアプローチではない可能性があるため、目的の結果が得られる他のソリューションに開いています。
ありがとうございます!
答え1
クイックミラー(そして必要なだけ多くのミラー)を見つけるための最良の方法はを使用することですnetselect
。netselect
最速のミラーはスコアに基づいて表示されます。テキストファイルが空白または改行で区切られていると仮定すると、このコマンドはsudo netselect -vv -s 100 $(cat mirrors.txt)
画像を速度でソートし(低いほど良い)、応答時間をミリ秒単位で表示します。
これは私のmirrors.txtファイルへのコマンド出力です(ランダムな順序)。
Running netselect to choose 100 out of 3 addresses.
..........................
http://deb.debian.org/debian/ 10 ms 6 hops 50% ok ( 3/ 6) [ 33]
http://mirror.timkevin.us/debian/ 70 ms 9 hops 100% ok (10/10) [ 133]
http://mirror.i3d.net/debian/ 99 ms 9 hops 100% ok (10/10) [ 188]
33 http://deb.debian.org/debian/
133 http://mirror.timkevin.us/debian/
188 http://mirror.i3d.net/debian/
Only found 3 hosts out of 100 requested.
最速のミラーのスコアは33です。応答時間は10ミリ秒です。ミリ秒と分数は次の行に表示されます。
http://deb.debian.org/debian/ milliseconds-->10 ms<-- 6 hops 50% ok ( 3/ 6) [ score-->33]
http://mirror.timkevin.us/debian/ milliseconds-->70 ms<-- 9 hops 100% ok (10/10) [ score-->133]
http://mirror.i3d.net/debian/ milliseconds-->99 ms<-- 9 hops 100% ok (10/10) [ score-->188]
使用の利点は、netselect
andよりも高速に動作し、andの出力をコマンドの最後のパラメータに渡すことができるため、問題を経験する必要がないことです。このコマンドはすべてのURLで機能します。ping
traceroute
xargs
mirrors.txt
netselect