Как узнать время отклика сайта?

Возможный дубликат:
Измерение задержки проверки связи сервер - 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 сервер.

Я буду признателен, если вы могли бы дать мне образец или любую идею, спасибо. :)


person Anthony Lee    schedule 12.08.2012    source источник


Ответы (3)


Почему ты хочешь сделать это сам? Обычно серверы приложений работают за балансировщиком нагрузки, который, как мы надеемся, перенаправляет ваши запросы на машину с наименьшей нагрузкой... балансировка нагрузки в этом контексте, выполненная вами, возможно, имеет смысл в географически распределенной настройке сервера приложений, но не здесь с Серверы StackOverflow. Итак, ваш вариант использования?

Смотрите также

Измерение задержки проверки связи сервера — Python

person Andreas Jung    schedule 12.08.2012
comment
Это пример, просто подумайте о том, что вы собираетесь выбрать прокси-сервер... - person Anthony Lee; 12.08.2012

Полдня пытаюсь гуглить, что-то вроде этого?

url = ""

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

любой лучший способ?

person Anthony Lee    schedule 12.08.2012

вы можете использовать popen для выполнения команды ping:

например, возьмем три nameservers из stackoverflow и пропингуем их. Самым быстрым будет тот, у которого наименьшее среднее время

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
person Ashwini Chaudhary    schedule 12.08.2012