2

重複の可能性:
サーバーの ping 遅延の測定 - Python

There are a few servers such as

http://server1.stackoverflow.com
http://server2.stackoverflow.com
http://server3.stackoverflow.com
http://server4.stackoverflow.com

現時点でどのリンクの応答時間が最も短いかを知りたいです。私は何をすべきか?

私は次のことを考えています: timeit またはサーバーに ping を実行します。

サンプルやアイデアをいただければ幸いです。よろしくお願いします。:)

4

3 に答える 3

1

なぜ自分でこれをやりたいのですか?通常、アプリサーバーはロードバランサーの背後で実行され、リクエストを最小限の負荷でマシンにリダイレクトします...このコンテキストでの負荷分散-自分で行う-地理的に分散したアプリサーバーのセットアップではおそらく意味がありますが、ここではそうではありませんStackoverflow サーバー。あなたのユースケースは?

こちらもご覧ください

サーバーの ping レイテンシーの測定 - Python

于 2012-08-12T10:17:08.987 に答える
0

半日ググってみたらこんな感じ?

url = ""

f = urllib.urlopen(url)
start = time.time()
page = f.read()
end = time.time()
f.close()

より良い方法はありますか?

于 2012-08-12T10:27:08.840 に答える
0

popenコマンドを実行するために使用できますping

たとえば、 の 3 つを ping してみましょnameserversstackoverflow。最も速いものは、平均時間が最も短いものになります

import os
lis3=['64.34.119.33','64.34.119.34','69.59.196.217'] #nameservers of SO
lis2=[]
for x in lis3:
    strs=os.popen("ping "+x).read()
    #print strs
    time=strs[strs.rfind(' ')+1:strs.rfind('ms')]
    lis2.append(int(time))

minn=lis3[lis2.index(min(lis2))]
print 'lowest average time is from {0}'.format(minn)

出力:

lowest average time is from 69.59.196.217
于 2012-08-12T10:34:13.643 に答える