Wie messe ich mit cURL gleichzeitig Anforderungs- und Antwortzeiten?

658

Ich habe einen Webdienst, der Daten im JSON-Format empfängt, die Daten verarbeitet und das Ergebnis dann an den Anforderer zurückgibt.

Ich möchte die Anfrage, Antwort und Gesamtzeit mit messen cURL.

Meine Beispielanfrage sieht folgendermaßen aus:

curl -X POST -d @file server:port

und ich messe dies derzeit mit dem timeBefehl unter Linux:

time curl -X POST -d @file server:port

Der Zeitbefehl misst jedoch nur die Gesamtzeit - was nicht ganz das ist, wonach ich suche.

Gibt es eine Möglichkeit, Anforderungs- und Antwortzeiten mithilfe von zu messen cURL?

sdasdadas
quelle

Antworten:

1673

Aus diesem brillanten Blog-Beitrag ... https://blog.josephscott.org/2011/10/14/timing-details-with-curl/

cURL unterstützt die formatierte Ausgabe für die Details der Anforderung (Details finden Sie in der cURL-Manpage unter -w, –write-out <format>). Für unsere Zwecke konzentrieren wir uns nur auf die bereitgestellten Timing-Details. Die Zeiten unten sind in Sekunden angegeben .

  1. Erstellen Sie eine neue Datei, curl-format.txt, und fügen Sie Folgendes ein:

        time_namelookup:  %{time_namelookup}s\n
           time_connect:  %{time_connect}s\n
        time_appconnect:  %{time_appconnect}s\n
       time_pretransfer:  %{time_pretransfer}s\n
          time_redirect:  %{time_redirect}s\n
     time_starttransfer:  %{time_starttransfer}s\n
                        ----------\n
             time_total:  %{time_total}s\n
    
  2. Eine Anfrage stellen:

    curl -w "@curl-format.txt" -o /dev/null -s "http://wordpress.com/"
    

    Oder unter Windows ist es ...

    curl -w "@curl-format.txt" -o NUL -s "http://wordpress.com/"
    


Was dies tut:

-w "@curl-format.txt"Weist cURL an, unsere Formatdatei zu verwenden.
-o /dev/nullLeitet die Ausgabe der Anforderung an / dev / null um.
-s Weist cURL an, keine Fortschrittsanzeige anzuzeigen. Dies
"http://wordpress.com/"ist die URL, die wir anfordern. Verwenden Sie Anführungszeichen, insbesondere wenn Ihre URL Abfragezeichenfolgenparameter "&" enthält


Und hier ist, was Sie zurückbekommen:

   time_namelookup:  0.001s
      time_connect:  0.037s
   time_appconnect:  0.000s
  time_pretransfer:  0.037s
     time_redirect:  0.000s
time_starttransfer:  0.092s
                   ----------
        time_total:  0.164s


Erstellen Sie eine Linux / Mac-Verknüpfung (Alias)

alias curltime="curl -w \"@$HOME/.curl-format.txt\" -o NUL -s "

Dann können Sie einfach anrufen ...

curltime wordpress.org

Vielen Dank an Kommentator Pete Doyle!


Erstellen Sie ein eigenständiges Linux / Mac-Skript

Dieses Skript benötigt keine separate TXT-Datei, um die Formatierung zu enthalten.

Erstellen Sie eine neue Datei (curltime) irgendwo in Ihrem ausführbaren Pfad und fügen Sie Folgendes ein:

#!/bin/bash

curl -w @- -o /dev/null -s "$@" <<'EOF'
    time_namelookup:  %{time_namelookup}\n
       time_connect:  %{time_connect}\n
    time_appconnect:  %{time_appconnect}\n
   time_pretransfer:  %{time_pretransfer}\n
      time_redirect:  %{time_redirect}\n
 time_starttransfer:  %{time_starttransfer}\n
                    ----------\n
         time_total:  %{time_total}\n
EOF

Rufen Sie den Alias ​​genauso auf:

curltime wordpress.org


Erstellen Sie eine Windows-Verknüpfung (auch bekannt als BAT-Datei).

Fügen Sie diesen Befehl in CURLTIME.BAT ein (im selben Ordner wie curl.exe).

curl -w "@%~dp0curl-format.txt" -o NUL -s %*

Dann können Sie einfach anrufen ...

curltime wordpress.org
Simon East
quelle
26
tolle Antwort. Vielen Dank. Eine Sache, die ich tun musste, war hinzuzufügen \n, um die Zeile in der Textdatei zu brechen
Jason Kim
2
In der Windows-BAT-Datei wird nur der erste Parameter @curl -w "@%~dp0curl-format.txt" -o NUL -s %*
gesendet.
Danke @udoh, ich habe die Antwort aktualisiert, um das aufzunehmen.
Simon East
ausgezeichnete Antwort. Wie kann ich auch das aktuelle Datum und die aktuelle Uhrzeit angeben, zu der die Locke die Anforderung initiiert hat?
Saqib Ali
4
Für Linux habe ich ein Dotfile und einen Alias ​​erstellt und es scheint gut zu funktionieren : alias curltime="curl -w \"@$HOME/.curl-format.txt\" -o NUL -s ". Funktioniert wahrscheinlich auch unter MacOS.
Pete Doyle
161

Hier ist die Antwort:

curl -X POST -d @file server:port -w %{time_connect}:%{time_starttransfer}:%{time_total}

Alle mit verwendeten Variablen -wfinden Sie in man curl.

sdasdadas
quelle
19
Es ist besser für die Benutzererfahrung, neue Zeilen hinzuzufügen:"\n%{time_connect}:%{time_starttransfer}:%{time_total}\n"
1
Für mich funktionierte es nicht ohne Anführungszeichen. Ich würde das Hinzufügen zitiert vorschlagen , während das Format / h / a / c / haproxy # Angabe ❯❯❯ curl -w "% {time_total} \ n" google.com -o / dev / null es 0.055
Geek
@Geek Im Allgemeinen ist es sinnvoll, Fehler anzuzeigen, wenn Sie im stillen Modus arbeiten ( -sS).
X-Yuri
138

Option 1. Zum Messen total time:

curl -o /dev/null -s -w 'Total: %{time_total}s\n'  https://www.google.com

Beispielausgabe:

Geben Sie hier die Bildbeschreibung ein

Option 2. Um zu erhalten time to establish connection, TTFB: time to first byteund total time:

curl -o /dev/null -s -w 'Establish Connection: %{time_connect}s\nTTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n'  https://www.google.com

Beispielausgabe:

Geben Sie hier die Bildbeschreibung ein

Ref: Holen Sie sich die Reaktionszeit mit Curl

Tho
quelle
53

Eine Verknüpfung, die Sie zu Ihrer .bashrc usw. hinzufügen können, basierend auf anderen Antworten hier:

function perf {
  curl -o /dev/null -s -w "%{time_connect} + %{time_starttransfer} = %{time_total}\n" "$1"
}

Verwendungszweck:

> perf stackoverflow.com
0.521 + 0.686 = 1.290
Mahemoff
quelle
5
Ich verwende eine Variation, die die Anzahl der während der gemessenen Zeit heruntergeladenen Bytes anzeigt:curl -o /dev/null -s -w "time_total: %{time_total} sec\nsize_download: %{size_download} bytes\n" https://www.google.com
jambroseclarke
39

Das Folgende ist von Simons Antwort inspiriert. Es ist in sich geschlossen (erfordert keine separate Formatdatei), was es ideal für die Aufnahme in macht .bashrc.

curl_time() {
    curl -so /dev/null -w "\
   namelookup:  %{time_namelookup}s\n\
      connect:  %{time_connect}s\n\
   appconnect:  %{time_appconnect}s\n\
  pretransfer:  %{time_pretransfer}s\n\
     redirect:  %{time_redirect}s\n\
starttransfer:  %{time_starttransfer}s\n\
-------------------------\n\
        total:  %{time_total}s\n" "$@"
}

Darüber hinaus sollte es mit allen Argumenten funktionieren, die curlnormalerweise benötigt werden, da sie "$@"nur durchlaufen werden. Zum Beispiel können Sie Folgendes tun:

curl_time -X POST -H "Content-Type: application/json" -d '{"key": "val"}' https://postman-echo.com/post

Ausgabe:

   namelookup:  0,125000s
      connect:  0,250000s
   appconnect:  0,609000s
  pretransfer:  0,609000s
     redirect:  0,000000s
starttransfer:  0,719000s
-------------------------
        total:  0,719000s
Konstantin
quelle
34

Wenn Sie die Latenz analysieren oder zusammenfassen möchten, können Sie Apache Bench ausprobieren:

ab -n [number of samples] [url]

Zum Beispiel:

ab -n 100 http://www.google.com/

Wird sich zeigen:

This is ApacheBench, Version 2.3 <$Revision: 1757674 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.google.com (be patient).....done


Server Software:        gws
Server Hostname:        www.google.com
Server Port:            80

Document Path:          /
Document Length:        12419 bytes

Concurrency Level:      1
Time taken for tests:   10.700 seconds
Complete requests:      100
Failed requests:        97
   (Connect: 0, Receive: 0, Length: 97, Exceptions: 0)
Total transferred:      1331107 bytes
HTML transferred:       1268293 bytes
Requests per second:    9.35 [#/sec] (mean)
Time per request:       107.004 [ms] (mean)
Time per request:       107.004 [ms] (mean, across all concurrent requests)
Transfer rate:          121.48 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       20   22   0.8     22      26
Processing:    59   85 108.7     68     911
Waiting:       59   85 108.7     67     910
Total:         80  107 108.8     90     932

Percentage of the requests served within a certain time (ms)
  50%     90
  66%     91
  75%     93
  80%     95
  90%    105
  95%    111
  98%    773
  99%    932
 100%    932 (longest request)
Andong Zhan
quelle
1
viel einfacher als die anderen Antworten. Ich habe diesen Befehl total vergessen!
FacePalm
Dies ist eine fantastische Antwort. Und abakzeptiert handlich viele der gleichen Flags wie curlzB -Hfür Header. Ich habe diesen Befehl verwendet, um die Antwortzeiten einer Drittanbieter-API (Bereitstellung des Inhaber-Tokens in einem Autorisierungsheader) zu vergleichen. Hat hervorragend funktioniert.
Tsamb
21

Eine andere Möglichkeit ist die Konfiguration ~/.curlrcwie folgt

-w "\n\n==== cURL measurements stats ====\ntotal: %{time_total} seconds \nsize: %{size_download} bytes \ndnslookup: %{time_namelookup} seconds \nconnect: %{time_connect} seconds \nappconnect: %{time_appconnect} seconds \nredirect: %{time_redirect} seconds \npretransfer: %{time_pretransfer} seconds \nstarttransfer: %{time_starttransfer} seconds \ndownloadspeed: %{speed_download} byte/sec \nuploadspeed: %{speed_upload} byte/sec \n\n"

Die Ausgabe von curlist also

❯❯ curl -I https://google.com
HTTP/2 301
location: https://www.google.com/
content-type: text/html; charset=UTF-8
date: Mon, 04 Mar 2019 08:02:43 GMT
expires: Wed, 03 Apr 2019 08:02:43 GMT
cache-control: public, max-age=2592000
server: gws
content-length: 220
x-xss-protection: 1; mode=block
x-frame-options: SAMEORIGIN
alt-svc: quic=":443"; ma=2592000; v="44,43,39"



==== cURL measurements stats ====
total: 0.211117 seconds
size: 0 bytes
dnslookup: 0.067179 seconds
connect: 0.098817 seconds
appconnect: 0.176232 seconds
redirect: 0.000000 seconds
pretransfer: 0.176438 seconds
starttransfer: 0.209634 seconds
downloadspeed: 0.000 byte/sec
uploadspeed: 0.000 byte/sec
Hieu Huynh
quelle
Würden Sie mir den Verweis auf detailliertere Dokumente dazu zeigen?
Trần Đức Tâm
@ TrầnĐứcTâm Details in Curl offiziellen Buch ec.haxx.se/usingcurl-writeout.html
Hieu Huynh
10

Hey ist besser als Apache Bench, hat weniger Probleme mit SSL

./hey https://google.com -more
Summary:
  Total:    3.0960 secs
  Slowest:  1.6052 secs
  Fastest:  0.4063 secs
  Average:  0.6773 secs
  Requests/sec: 64.5992

Response time histogram:
  0.406 [1] |
  0.526 [142]   |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  0.646 [1] |
  0.766 [6] |∎∎
  0.886 [0] |
  1.006 [0] |
  1.126 [0] |
  1.246 [12]    |∎∎∎
  1.365 [32]    |∎∎∎∎∎∎∎∎∎
  1.485 [5] |∎
  1.605 [1] |

Latency distribution:
  10% in 0.4265 secs
  25% in 0.4505 secs
  50% in 0.4838 secs
  75% in 1.2181 secs
  90% in 1.2869 secs
  95% in 1.3384 secs
  99% in 1.4085 secs

Details (average, fastest, slowest):
  DNS+dialup:    0.1150 secs, 0.0000 secs, 0.4849 secs
  DNS-lookup:    0.0032 secs, 0.0000 secs, 0.0319 secs
  req write:     0.0001 secs, 0.0000 secs, 0.0007 secs
  resp wait:     0.2068 secs, 0.1690 secs, 0.4906 secs
  resp read:     0.0117 secs, 0.0011 secs, 0.2375 secs

Status code distribution:
  [200] 200 responses

Verweise

Jonathan
quelle
9

Eine andere Option, die in Bezug auf die Befehlszeile vielleicht die einfachste ist, ist das Hinzufügen der integrierten --trace-timeOption:

curl -X POST -d @file server:port --trace-time

Obwohl die vom OP angeforderten Zeitabläufe der verschiedenen Schritte technisch nicht ausgegeben werden, werden die Zeitstempel für alle Schritte der Anforderung wie unten gezeigt angezeigt. Auf diese Weise können Sie (ziemlich einfach) berechnen, wie lange jeder Schritt gedauert hat.

$ curl https://www.google.com --trace-time -v -o /dev/null
13:29:11.148734 * Rebuilt URL to: https://www.google.com/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     013:29:11.149958 *   Trying 172.217.20.36...
13:29:11.149993 * TCP_NODELAY set
13:29:11.163177 * Connected to www.google.com (172.217.20.36) port 443 (#0)
13:29:11.164768 * ALPN, offering h2
13:29:11.164804 * ALPN, offering http/1.1
13:29:11.164833 * successfully set certificate verify locations:
13:29:11.164863 *   CAfile: none
  CApath: /etc/ssl/certs
13:29:11.165046 } [5 bytes data]
13:29:11.165099 * (304) (OUT), TLS handshake, Client hello (1):
13:29:11.165128 } [512 bytes data]
13:29:11.189518 * (304) (IN), TLS handshake, Server hello (2):
13:29:11.189537 { [100 bytes data]
13:29:11.189628 * TLSv1.2 (IN), TLS handshake, Certificate (11):
13:29:11.189658 { [2104 bytes data]
13:29:11.190243 * TLSv1.2 (IN), TLS handshake, Server key exchange (12):
13:29:11.190277 { [115 bytes data]
13:29:11.190507 * TLSv1.2 (IN), TLS handshake, Server finished (14):
13:29:11.190539 { [4 bytes data]
13:29:11.190770 * TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
13:29:11.190797 } [37 bytes data]
13:29:11.190890 * TLSv1.2 (OUT), TLS change cipher, Client hello (1):
13:29:11.190915 } [1 bytes data]
13:29:11.191023 * TLSv1.2 (OUT), TLS handshake, Finished (20):
13:29:11.191053 } [16 bytes data]
13:29:11.204324 * TLSv1.2 (IN), TLS handshake, Finished (20):
13:29:11.204358 { [16 bytes data]
13:29:11.204417 * SSL connection using TLSv1.2 / ECDHE-ECDSA-CHACHA20-POLY1305
13:29:11.204451 * ALPN, server accepted to use h2
13:29:11.204483 * Server certificate:
13:29:11.204520 *  subject: C=US; ST=California; L=Mountain View; O=Google LLC; CN=www.google.com
13:29:11.204555 *  start date: Oct  2 07:29:00 2018 GMT
13:29:11.204585 *  expire date: Dec 25 07:29:00 2018 GMT
13:29:11.204623 *  subjectAltName: host "www.google.com" matched cert's "www.google.com"
13:29:11.204663 *  issuer: C=US; O=Google Trust Services; CN=Google Internet Authority G3
13:29:11.204701 *  SSL certificate verify ok.
13:29:11.204754 * Using HTTP2, server supports multi-use
13:29:11.204795 * Connection state changed (HTTP/2 confirmed)
13:29:11.204840 * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
13:29:11.204881 } [5 bytes data]
13:29:11.204983 * Using Stream ID: 1 (easy handle 0x55846ef24520)
13:29:11.205034 } [5 bytes data]
13:29:11.205104 > GET / HTTP/2
13:29:11.205104 > Host: www.google.com
13:29:11.205104 > User-Agent: curl/7.61.0
13:29:11.205104 > Accept: */*
13:29:11.205104 > 
13:29:11.218116 { [5 bytes data]
13:29:11.218173 * Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
13:29:11.218211 } [5 bytes data]
13:29:11.251936 < HTTP/2 200 
13:29:11.251962 < date: Fri, 19 Oct 2018 10:29:11 GMT
13:29:11.251998 < expires: -1
13:29:11.252046 < cache-control: private, max-age=0
13:29:11.252085 < content-type: text/html; charset=ISO-8859-1
13:29:11.252119 < p3p: CP="This is not a P3P policy! See g.co/p3phelp for more info."
13:29:11.252160 < server: gws
13:29:11.252198 < x-xss-protection: 1; mode=block
13:29:11.252228 < x-frame-options: SAMEORIGIN
13:29:11.252262 < set-cookie: 1P_JAR=2018-10-19-10; expires=Sun, 18-Nov-2018 10:29:11 GMT; path=/; domain=.google.com
13:29:11.252297 < set-cookie: NID=141=pzXxp1jrJmLwFVl9bLMPFdGCtG8ySQKxB2rlDWgerrKJeXxfdmB1HhJ1UXzX-OaFQcnR1A9LKYxi__PWMigjMBQHmI3xkU53LI_TsYRbkMNJNdxs-caQQ7fEcDGE694S; expires=Sat, 20-Apr-2019 10:29:11 GMT; path=/; domain=.google.com; HttpOnly
13:29:11.252336 < alt-svc: quic=":443"; ma=2592000; v="44,43,39,35"
13:29:11.252368 < accept-ranges: none
13:29:11.252408 < vary: Accept-Encoding
13:29:11.252438 < 
13:29:11.252473 { [5 bytes data]
100 12215    0 12215    0     0   112k      0 --:--:-- --:--:-- --:--:--  112k
13:29:11.255674 * Connection #0 to host www.google.com left intact
Per Lundberg
quelle
Dies ist tatsächlich eine großartige Antwort, die wahrscheinlich zu den meisten Anwendungsfällen passen wird, nach denen die Leute hier suchen. Die anderen Antworten eignen sich hervorragend für gründliche und gründliche Lösungen. Dies ist jedoch hilfreich, um die Umlaufzeiten schnell zu überprüfen.
Chris
Danke @ChrisVandevelde. Ja, ich war mir bewusst, dass es "so etwas" gab (hatte diesen Parameter schon einmal verwendet), dann googelte ich meinen Weg zu diesem SO-Beitrag und fand die anspruchsvollere Form, aber ... ich hatte das Gefühl, dass es auch einen anderen Weg gab . :) Wie Sie sagen, es ist in seiner Einfachheit ziemlich ordentlich und manchmal gut genug für einfachere Anwendungsfälle.
Per Lundberg
8

curl -v --trace-time Dies muss im ausführlichen Modus erfolgen

PAUL SSEMAKULA
quelle
4

Hier ist die Zeichenfolge, mit der Sie arbeiten können. Sie -wenthält alle curl -wunterstützten Optionen .

{"contentType":"%{content_type}","filenameEffective":"%{filename_effective}","ftpEntryPath":"%{ftp_entry_path}","httpCode":"%{http_code}","httpConnect":"%{http_connect}","httpVersion":"%{http_version}","localIp":"%{local_ip}","localPort":"%{local_port}","numConnects":"%{num_connects}","numRedirects":"%{num_redirects}","proxySslVerifyResult":"%{proxy_ssl_verify_result}","redirectUrl":"%{redirect_url}","remoteIp":"%{remote_ip}","remotePort":"%{remote_port}","scheme":"%{scheme}","size":{"download":"%{size_download}","header":"%{size_header}","request":"%{size_request}","upload":"%{size_upload}"},"speed":{"download":"%{speed_download}","upload":"%{speed_upload}"},"sslVerifyResult":"%{ssl_verify_result}","time":{"appconnect":"%{time_appconnect}","connect":"%{time_connect}","namelookup":"%{time_namelookup}","pretransfer":"%{time_pretransfer}","redirect":"%{time_redirect}","starttransfer":"%{time_starttransfer}","total":"%{time_total}"},"urlEffective":"%{url_effective}"}

gibt JSON aus.

ATilara
quelle
Das Voranstellen \nhilft dabei, das Timing zu trennen, wenn der Körper nicht mit einer neuen Zeile endet:curl -w '\n{"contentType":"..."}...
Beni Cherniavsky-Paskin
2

Hier ist ein Bash-Einzeiler, mit dem Sie denselben Server wiederholt erreichen können:

for i in {1..1000}; do curl -s -o /dev/null -w "%{time_total}\n" http://server/get_things; done
Lucas
quelle
0

Dies ist eine modifizierte Version von Simons Antwort, die die mehrzeilige Ausgabe zu einer einzigen Zeile macht. Außerdem wird der aktuelle Zeitstempel eingeführt, damit Sie jeder Ausgabezeile leichter folgen können.

Beispielformat fle
$ cat time-format.txt
time_namelookup:%{time_namelookup} time_connect:%{time_connect} time_appconnect:%{time_appconnect} time_pretransfer:%{time_pretransfer} time_redirect:%{time_redirect} time_starttransfer:%{time_starttransfer} time_total:%{time_total}\n
Beispiel cmd
$ while [ 1 ];do echo -n "$(date) - " ; curl -w @curl-format.txt -o /dev/null -s https://myapp.mydom.com/v1/endpt-http; sleep 1; done | grep -v time_total:0
Ergebnisse
Mon Dec 16 17:51:47 UTC 2019 - time_namelookup:0.004 time_connect:0.015 time_appconnect:0.172 time_pretransfer:0.172 time_redirect:0.000 time_starttransfer:1.666 time_total:1.666
Mon Dec 16 17:51:50 UTC 2019 - time_namelookup:0.004 time_connect:0.015 time_appconnect:0.175 time_pretransfer:0.175 time_redirect:0.000 time_starttransfer:3.794 time_total:3.795
Mon Dec 16 17:51:55 UTC 2019 - time_namelookup:0.004 time_connect:0.017 time_appconnect:0.175 time_pretransfer:0.175 time_redirect:0.000 time_starttransfer:1.971 time_total:1.971
Mon Dec 16 17:51:58 UTC 2019 - time_namelookup:0.004 time_connect:0.014 time_appconnect:0.173 time_pretransfer:0.173 time_redirect:0.000 time_starttransfer:1.161 time_total:1.161
Mon Dec 16 17:52:00 UTC 2019 - time_namelookup:0.004 time_connect:0.015 time_appconnect:0.166 time_pretransfer:0.167 time_redirect:0.000 time_starttransfer:1.434 time_total:1.434
Mon Dec 16 17:52:02 UTC 2019 - time_namelookup:0.004 time_connect:0.015 time_appconnect:0.177 time_pretransfer:0.177 time_redirect:0.000 time_starttransfer:5.119 time_total:5.119
Mon Dec 16 17:52:08 UTC 2019 - time_namelookup:0.004 time_connect:0.014 time_appconnect:0.172 time_pretransfer:0.172 time_redirect:0.000 time_starttransfer:30.185 time_total:30.185
Mon Dec 16 17:52:39 UTC 2019 - time_namelookup:0.004 time_connect:0.014 time_appconnect:0.164 time_pretransfer:0.164 time_redirect:0.000 time_starttransfer:30.175 time_total:30.176
Mon Dec 16 17:54:28 UTC 2019 - time_namelookup:0.004 time_connect:0.015 time_appconnect:3.191 time_pretransfer:3.191 time_redirect:0.000 time_starttransfer:3.212 time_total:3.212
Mon Dec 16 17:56:08 UTC 2019 - time_namelookup:0.004 time_connect:0.015 time_appconnect:1.184 time_pretransfer:1.184 time_redirect:0.000 time_starttransfer:1.215 time_total:1.215
Mon Dec 16 18:00:24 UTC 2019 - time_namelookup:0.004 time_connect:0.015 time_appconnect:0.181 time_pretransfer:0.181 time_redirect:0.000 time_starttransfer:1.267 time_total:1.267

Ich habe das oben genannte verwendet, um langsame Antworten auf dem oben genannten Endpunkt zu erhalten.

slm
quelle