跳至主要內容
CJCJ Kuo

全站文章搜尋

輸入關鍵字即刻在靜態索引中快速搜尋
↑↓ 導航 · Enter 選取前往獨立搜尋頁 →
Linux Curl 測試訪問速度、TCP交握及SSL交握方式
資訊技術••約 1 分鐘•299 字

Linux Curl 測試訪問速度、TCP交握及SSL交握方式

本文目錄共 3 節

工作遇到網路訪問時產生的相關問題,可以使用curl進行問題確認、排除,尤其是這陣子工作上進行較多的POC,當問題發生時要能提出證明來驗證不是自己的問題,指令就被越用越熟悉。
本次要介紹是如何驗證回應時間、TCP及SSL交握狀態,來確保自己想的服務狀態是跟實際運行的保持一致,或是異常現象要如何在curl 指令中進行驗證及確認猜測方向。

測試網頁訪問速度

指令執行後會在每階段輸出時間點讓您知道,該如何從哪個節點入手來優化整個訪問網站時的體驗。

$ $ curl -sLo /dev/null -w "time_namelookup:\t%{time_namelookup}\ntime_connect:\t\t%{time_connect}\ntime_pre_transfer:\t%{time_pretransfer}\ntime_start_transfer:\t%{time_starttransfer}\ntime_total:\t\t%{time_total}\ntime_redirect:\t\t%{time_redirect}\nnum_redirects:\t\t%{num_redirects}\nsize_download:\t\t%{size_download}\n" https://www.google.com

time_namelookup:	0.001645
#從開始到完成DNS解析
time_connect:		0.004070
#從開始到完成 TCP 連線
time_pre_transfer:	0.188415
#從開始到準備開始傳輸封包
time_start_transfer:	0.229396
#從開始到接收到第一個封包
time_total:		0.229775
#完成傳輸總時數
time_redirect:		0.000000
#重新導向總耗時,如果沒有重新導向數值會等於0
num_redirects:		0
#重新導向次數,如果沒有重新導向數值會等於0
size_download:		14441
#整個網頁下載的大小

驗證TCP 及 SSL 交握時間

此方式最主要在測試整體連線及交握速度,避開網頁本身運算的影響只計算到完成交握時間。

可以有效確認主機效能或問題是否來自主機本身,甚至是我們在測試Server效能時一個快速判斷的依據。

$ curl -w "TCP handshake: %{time_connect}\nSSL handshake: %{time_appconnect}\n" -so /dev/null https://www.google.com
TCP handshake: 0.003563
SSL handshake: 0.187515

參考來源:

查看此系列所有文章 →
CJ Kuo (郭仕杰)

CJ Kuo (郭仕杰)

創辦人兼主筆

熱愛軟體架構、DevOps、系統調優與新技術探索的工程實踐者,也會寫寫投資和生活。

獨立技術專刊推播

訂閱技術電子報

有新文章發布時寄送到您的信箱,不發送垃圾信。