В моей программе Go я сделал несколько HTTP-запросов, и мне нужно время время ответа (и не запрашивать время).Время ответа HTTP в Go
Вот мой текущий код (время время запроса):
func Get() int {
start := time.Now()
result, err := http.Get("http://www.google.com")
if err != nil {
log.Fatal(err)
}
defer result.Body.Close()
elapsed := time.Since(start).Seconds()
log.Println(elapsed)
return result.StatusCode
}
На самом деле, этот код будет показывать что-то о времени 5s запроса, включая разрешение DNS и другие вещи ... Если я выполнить тот же тест с такой инструмент, как Apache JMeter, время составляет всего около 100 мс (что является реальным временем отклика сервера, не заботясь о времени запроса).
Я действительно хочу вычислить реальное время отклика сервера. Как я могу вычислить это в Go?
Что вы имеете в виду по времени отклика? Время, когда сервер завершил обработку запроса до момента, когда клиент получил его? Я не уверен, как это будет возможно - сама по себе поездка, dns и все, что является неотъемлемой частью цикла HTTP ... Лучше всего было бы время на сервере. –
Хорошо, вот что я подумал. На самом деле, я действительно не знаю, как инструмент JMeter вычисляет это время, но мне хотелось бы что-то вроде этого. JMeter не проверяет сервер (в моем знании). Я тестировал с помощью wget, и время совпадает с тем, которое было рассчитано моей программой (около 5 с, включая разрешение DNS). – Devatoria