有時我們會需要網頁載入前詳細的時間來判斷問題的所在,正時可以用 Curl 加上 -w 的方式輸出訊息 (此文為 win 環境)
參數 | 說明 |
---|---|
-o | 把curl 返回的html、js 寫到黑洞[null](Linux 請用 /dev/null |
-s | 去掉所有狀態 |
-w | 按照後面的格式輸出 |
-L | 跟隨網址重導向 |
以下以加上說明的命令做範例:
curl -o null -w " Time_namelookup:%{time_namelookup}:\n TCP_Connect time:%{time_connect}\n SSL_Connect time:%{time_appconnect}\n Redirect time:%{time_redirect}\n Pretransfer:%{time_pretransfer}\n Starttransfer:%{time_starttransfer}\n time_total:%{time_total}\n speed_download:%{speed_download}" https://www.google.com
名稱 | 數值 | 說明,單位都是秒 |
---|---|---|
Time_namelookup | 0.031000 | DNS 解析域名[www.google.com]的時間 |
TCP_Connect time | 0.046000 | client和server端建立TCP 連接的時間 |
SSL_Connect time | 0.078000 | SSL/SSH 等上層協議建立連接的時間,比如 connect/handshake 的時間 |
Redirect time | 0.000000 | 從開始到最後一個請求事務的時間 |
Pretransfer | 0.078000 | 從請求開始到響應開始傳輸的時間 |
Starttransfer | 0.125000 | 從client發出請求到web的server 響應第一個字節的時間 |
time_total | 0.126000 | client發出請求;到web的server發送會所有的相應數據的時間 |
speed_download | 89008.000度 | 下載速度 單位 byte/s |
- 建立 TCP 連接到 server 返回 client 第一個字節的時間:0.125s - 0.046s = 0.079s
- Server 把響應數據發送給 client 的時間:0.125s - 0.126 = 0.001s
或者是把以下內容存成 curl-format.txt
指令-w "@路徑/curl-format.txt" -o null -s https://www.google.com
curl -w "@D:\curl-format.txt" -o null -s https://www.google.com