Mal HTTP Antwort-in Gehen

In mein Programm Gehen, habe ich ein paar HTTP-requests und ich muss mal die Reaktionszeit (und nicht Zeit).

Hier ist mein Aktueller code (timing-request time):

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
}

Eigentlich dieser code zeigt etwas über 5s-Anforderung, einschließlich DNS-Auflösung und anderen Dingen... Wenn ich führen Sie den gleichen test mit einem tool wie Apache JMeter, die Zeit ist nur etwa 100ms (das ist der eigentliche Antwortzeit der server, ohne kümmert sich um die Anfrage Zeit).

Was ich wirklich will, ist zu berechnen die Reale Antwortzeit der server. Wie kann ich berechnen, dies in der Go ?

  • Was meinst du mit Reaktionszeit? Die Zeit aus, wenn der server beendet wird, der die Anfrage verarbeitet, um die Zeit, die der client empfangen? Ich bin mir nicht sicher, wie das möglich wäre - die Rundreise selbst -, dns-und alle, die fester Bestandteil der HTTP-Zyklus... Ihre beste Wette wäre, zu mal es auf dem server.
  • Ok das ist, was ich dachte. In der Tat, ich weiß wirklich nicht, wie JMeter-tool ist das berechnen dieser Zeit, aber ich möchte so etwas wie dies. JMeter nicht überprüfen Sie den server (meiner Erkenntnis). Getestet habe ich mit wget, und das timing ist das gleiche, dass die, die berechnet wird, indem Sie mein Programm (etwa 5s einschließlich DNS-Auflösung).
InformationsquelleAutor Devatoria | 2015-05-29
Schreibe einen Kommentar