Làm cách nào để đo thời gian yêu cầu và phản hồi cùng một lúc bằng cURL?


658

Tôi có một dịch vụ web nhận dữ liệu ở định dạng JSON, xử lý dữ liệu và sau đó trả kết quả cho người yêu cầu.

Tôi muốn đo lường yêu cầu, phản hồi và tổng thời gian sử dụng cURL.

Yêu cầu ví dụ của tôi trông như:

curl -X POST -d @file server:port

và tôi hiện đang đo lường điều này bằng cách sử dụng timelệnh trong Linux:

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

Lệnh thời gian chỉ đo tổng thời gian, mặc dù vậy - đó không hoàn toàn là thứ tôi đang tìm kiếm.

Có cách nào để đo thời gian yêu cầu và phản hồi bằng cách sử dụng cURLkhông?

Câu trả lời:


1673

Từ bài đăng blog tuyệt vời này ... https://blog.josephscott.org/2011/10/14/timing-details-with-curl/

cURL hỗ trợ đầu ra được định dạng cho các chi tiết của yêu cầu (xem trang chủ của cURL để biết chi tiết , bên dưới -w, –write-out <format>). Đối với mục đích của chúng tôi, chúng tôi sẽ chỉ tập trung vào các chi tiết thời gian được cung cấp. Thời gian dưới đây là trong vài giây .

  1. Tạo một tệp mới, curl-format.txt và dán vào:

        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. Đưa ra yêu cầu:

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

    Hoặc trên Windows, đó là ...

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


Cái này làm gì

-w "@curl-format.txt"yêu cầu cURL sử dụng tệp định dạng của chúng tôi để
-o /dev/nullchuyển hướng đầu ra của yêu cầu tới / dev / null
-s nói với cURL không hiển thị đồng hồ đo tiến độ
"http://wordpress.com/"là URL chúng tôi đang yêu cầu. Sử dụng dấu ngoặc kép đặc biệt nếu URL của bạn có tham số chuỗi truy vấn "&"


Và đây là những gì bạn nhận lại:

   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


Tạo một phím tắt Linux / Mac (bí danh)

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

Sau đó, bạn có thể chỉ cần gọi ...

curltime wordpress.org

Cảm ơn bình luận viên Pete Doyle!


Tạo một kịch bản độc lập Linux / Mac

Tập lệnh này không yêu cầu tệp .txt riêng để chứa định dạng.

Tạo một tệp mới, curltime, ở đâu đó trong đường dẫn thực thi của bạn và dán vào:

#!/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

Gọi tương tự như bí danh:

curltime wordpress.org


Tạo lối tắt Windows (còn gọi là tệp BAT)

Đặt lệnh này trong CURLTIME.BAT (trong cùng thư mục với curl.exe)

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

Sau đó, bạn có thể chỉ cần gọi ...

curltime wordpress.org

26
câu trả lời tuyệt vời. cảm ơn bạn. một điều mà tôi phải làm là thêm vào \nđể ngắt dòng trong tệp văn bản
Jason Kim

2
Trong tệp BAT của windows, nó chỉ gửi tham số đầu tiên, thay đổi thành tham số này để truyền tất cả các tham số và để vô hiệu hóa lệnh tự nó: @curl -w "@%~dp0curl-format.txt" -o NUL -s %*Câu trả lời tuyệt vời
padilo

Cảm ơn @udoh, tôi đã cập nhật câu trả lời để bao gồm điều đó.
Simon East

câu trả lời tuyệt vời. Làm thế nào để tôi cũng bao gồm ngày hiện tại + thời gian khi curl bắt đầu yêu cầu?
Saqib Ali

4
Đối với Linux, tôi đã tạo một dotfile và bí danh và nó dường như hoạt động tốt : alias curltime="curl -w \"@$HOME/.curl-format.txt\" -o NUL -s ". Cũng có khả năng hoạt động trên MacOS.
Pete Doyle

161

Đây là câu trả lời:

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

Tất cả các biến được sử dụng với -wcó thể được tìm thấy trong man curl.


19
Sẽ tốt hơn cho trải nghiệm người dùng khi thêm các dòng mới:"\n%{time_connect}:%{time_starttransfer}:%{time_total}\n"

1
Đối với tôi nó không hoạt động mà không có dấu ngoặc kép. Tôi sẽ đề nghị thêm dấu ngoặc kép trong khi chỉ định định dạng / h / a / c / haproxy # ❯❯❯ curl -w "% {time_total} \ n" google.com -o / dev / null -s 0,055
Geek

@Geek Nói chung có nghĩa là hiển thị lỗi khi hoạt động ở chế độ im lặng ( -sS).
x-yuri

138

Tùy chọn 1. Để đo total time:

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

Đầu ra mẫu:

nhập mô tả hình ảnh ở đây

Lựa chọn 2. Để có được time to establish connection, TTFB: time to first bytetotal 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

Đầu ra mẫu:

nhập mô tả hình ảnh ở đây

Tham khảo: Nhận thời gian phản hồi với curl


53

Một lối tắt bạn có thể thêm vào .bashrc, v.v., dựa trên các câu trả lời khác tại đây:

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

Sử dụng:

> perf stackoverflow.com
0.521 + 0.686 = 1.290

5
Tôi sử dụng một biến thể hiển thị số byte được tải xuống trong thời gian đo:curl -o /dev/null -s -w "time_total: %{time_total} sec\nsize_download: %{size_download} bytes\n" https://www.google.com
jambroseclarke

39

Sau đây được lấy cảm hứng từ câu trả lời của Simon. Nó độc lập (không yêu cầu tệp định dạng riêng), điều này làm cho nó tuyệt vời để đưa vào .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" "$@"
}

Hơn nữa, nó nên hoạt động với tất cả các đối số curlthường có, vì "$@"chỉ cần vượt qua chúng. Ví dụ: bạn có thể làm:

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

Đầu ra:

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

34

Nếu bạn muốn phân tích hoặc tóm tắt độ trễ, bạn có thể thử băng ghế dự bị:

ab -n [number of samples] [url]

Ví dụ:

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

Nó sẽ hiển thị:

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)

1
cách đơn giản hơn các câu trả lời khác. Hoàn toàn quên mất lệnh này!
FacePalm

Đây là một câu trả lời tuyệt vời. Và abkhéo léo chấp nhận rất nhiều cờ giống như curlví dụ -Hcho các tiêu đề. Tôi đã sử dụng lệnh này để đánh giá thời gian phản hồi của API bên thứ ba (cung cấp mã thông báo mang trong tiêu đề Ủy quyền). Làm việc rực rỡ.
tsamb

21

Một cách khác là cấu hình ~/.curlrcnhư thế này

-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"

Vì vậy, đầu ra của curl

❯❯ 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

Bạn có thể chỉ cho tôi tham khảo các tài liệu chi tiết hơn về điều đó?
Trần Đức Tâm

@ TrầnĐứcTâm chi tiết trong cuốn sách chính thức của curl ec.haxx.se/USEcurl-writeout.html
Hiếu Huỳnh

10

Hey tốt hơn so với Apache Bench, có ít vấn đề hơn với 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

Người giới thiệu


9

Một tùy chọn khác có lẽ là tùy chọn đơn giản nhất về dòng lệnh là thêm --trace-timetùy chọn tích hợp:

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

Mặc dù về mặt kỹ thuật, nó không đưa ra thời gian của các bước khác nhau theo yêu cầu của OP, nhưng nó sẽ hiển thị dấu thời gian cho tất cả các bước của yêu cầu như được hiển thị bên dưới. Sử dụng điều này, bạn có thể (khá dễ dàng) tính toán mỗi bước đã thực hiện trong bao lâu.

$ 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

Đây thực sự là một câu trả lời tuyệt vời mà có lẽ sẽ phù hợp với hầu hết các trường hợp sử dụng mà mọi người ở đây đang tìm kiếm. Các câu trả lời khác là tuyệt vời cho các giải pháp kỹ lưỡng, chuyên sâu, nhưng điều này tốt cho việc kiểm tra nhanh thời gian khứ hồi.
Chris Vandevelde

Cảm ơn @ChrisVandevelde. Vâng, tôi đã biết rằng có "cái gì đó" như thế này (đã sử dụng tham số này trước đó), sau đó tôi đã tìm đường đến bài đăng SO này và tìm thấy hình thức phức tạp hơn, nhưng ... tôi có cảm giác cũng có một cách khác . :) Giống như bạn nói, nó đơn giản và đơn giản, đôi khi cũng đủ cho các trường hợp sử dụng đơn giản hơn.
Per Lundberg

8

curl -v --trace-time Điều này phải được thực hiện trong chế độ dài dòng



4

đây là chuỗi bạn có thể sử dụng -w, chứa tất cả các tùy chọn curl -whỗ trợ.

{"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}"}

xuất ra JSON.


Chuẩn bị \ngiúp phân tách thời gian khi cơ thể không kết thúc với dòng mới:curl -w '\n{"contentType":"..."}...
Beni Cherniavsky-Paskin

2

Đây là một lớp lót Bash để đánh cùng một máy chủ liên tục:

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

0

Đây là một phiên bản sửa đổi của câu trả lời Simons làm cho đầu ra nhiều dòng thành một dòng duy nhất. Nó cũng giới thiệu dấu thời gian hiện tại để dễ theo dõi từng dòng đầu ra hơn.

Định dạng mẫu 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
ví dụ 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
các kết quả
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

Tôi đã sử dụng ở trên để bắt các phản hồi chậm trên điểm cuối ở trên.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.