Я работаю над скриптом python для измерения времени отклика на DNS-сервер и времени отклика для получения данных с веб-сервера.Python - измерение DNS и время округления
Подход, который я принял следующее
- Первое измерение времени DNS поиск с помощью сокетов вызова module.Let в эту функцию
- Измерьте ответ от веб-сервера с помощью команды звона в модуле подпроцесса. Назовем эту функцию B
Я вызываю функцию A сначала, а затем функцию B в своем коде.
Решение работает отлично, но у меня есть сомнения, правильно ли он подходит.
Причина в том, что поиск DNS вызывается дважды (один раз в функции A &, затем в функции B). Таким образом, время DNS поиска в функции B всегда гораздо меньше, чем расчетное время в функции А.
Функция Код
startTime = datetime.datetime.now()
ip = socket.gethostbyname(host)
endTime = datetime.datetime.now()
diff = (endTime - startTime).total_seconds() * 1000
функция B код
resp = subprocess.popen(['ping','-c 3','host.com'],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
out,err = resp.communicate()
Благодаря
Ну, ответ DNS, скорее всего, исходит от кэширующего прокси, а не от авторитетного источника, поэтому неясно, какая информация используется. Если вы пытаетесь определить, сколько времени потребуется для получения веб-страницы, пинг на самом деле не будет очень полезен. Чего вы пытаетесь достичь, точно? – Aya
Спасибо. Я пытаюсь научиться программированию на уровне сети, и это простая задача, которую я пытаюсь выполнить. Я изменил с ping на urllib, чтобы вычислить время в оба конца – slysid