Ich habe CURLOPT_CONNECTTIMEOUT_MS = 200 und CURLOPT_TIMEOUT_MS = 70 ms gesetzt. Aber ich sehe CURLINFO_TOTAL_TIME um 220 ms.
CURLOPT_TIMEOUT_MS enthält laut libcurl doc auch Verbindungstimeout. Also im Prinzip sollte meine Totzeit insgesamt nicht mehr als 70 ms dauern. Aber warum braucht es mehr Kontrolle zurück?
Kann jemand bitte dieses Verhalten erklären.
Ich benutze Curl 7.19_02 C ++ - Bibliothek.
Hier ist mein Code
%Vor%Die Zeitangaben, die ich bekommen habe, sind wie folgt. Bitte überprüfen Sie dies
Information zum Zeitablauf: Gesamt: 0.216793
Suche: 0.000999
Verbindung: 0,023199
Vorübertragung: 0.023213
Übertragung starten: 0.216667
Der Punkt ist also, was passiert zwischen der Übertragung vor und der Übertragung?
Es ist ein Fehler in libcurl bis Version 7.20.0. Mit 7.20.1 ist die Ausgabe wie erwartet:
%Vor%Ich konnte den Änderungssatz nicht finden, der den Fehler behebt. Aber könnte in "Sekunden-Timeout-Verbesserungen" in cURL-Änderungen
seinDer Punkt ist also, was passiert zwischen der Übertragung vor und der Übertragung?
Dies ist die tatsächliche Zeit, die der Server benötigt hat, um Ihr Ergebnis zu berechnen (Ihre Anfrage zu bearbeiten) und bereit ist, das erste Byte der Antwort zu senden. Kurz gesagt, das ist die tatsächliche Serverzeit für die Anfrage und Sie würden erwarten, dass dies das größte Stück ist.