在下一篇文章中,我們將研究如何 使用cURL從終端測量網站的響應時間。 知道這很有趣,因為它會對用戶體驗產生重大影響。
無論您是Web開發人員還是管理服務器,您都將知道 速度 它應該總是準備就緒。 重要的是,一切正常運行,以使用戶在訪問您的網站時不會感到沮喪。
接下來,我們將看到一些能夠執行的命令 測量網站的響應時間。 有了他們,我們將能夠 檢查http和https頁面不同字段的時間(以秒為單位)。 我們將使用cURL從Ubuntu命令行執行所有操作,
使用cURL衡量加載速度
來自具有HTTP的網站
cURL有許多可用的選項,其中我們可以找到 -w,這將對 將信息打印到標準輸出 完成操作後。 它還為我們提供了一些 我們可以用來測試不同響應時間的變量 網站。
為了實現這一衡量,我們將使用一些可以在 cURL官方文檔。 這些可以以給定格式作為文字字符串或在文件中傳遞。
我們將使用以下變量:
- 時間名稱查找 →時間以秒為單位。 被採取 從創建到名稱解析完成.
- 時間連接 →時間以秒為單位。 從啟動到完成與遠程主機的TCP連接 或代理。
- 預傳輸時間 →花費的時間(以秒為單位) 從一開始到文件傳輸即將開始。 這包括特定於所涉及協議的所有預傳輸命令和協商。
- 時間開始傳輸 →花費的時間(以秒為單位) 從開始到第一個字節將要傳輸。 這包括time_pretransfer以及服務器計算結果所花費的時間。
- 總時間 → 整個操作持續的總時間(以秒為單位)。 它以毫秒為單位解析。
至 使用之前的變量執行我們將要掛載的命令,我們只需要打開一個終端(Ctrl + Alt + T)並輸入:
curl -s -w '\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null http://www.google.com
由於每次我們要使用它在終端中寫入時都會變得有些麻煩,因此我們可以選擇將其寫入文件中。
文件內,我要給它的名稱 control-speed-web.txt,您必須粘貼以下代碼:
\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n
保存並返回終端后,我們可以 通過鍵入以下語法使用此文件:
curl -s -w "@control-velocidad-web.txt" -o /dev/null http://www.google.com
上面的命令將起作用 -s使靜音模式。 用 -w信息打印在 標準輸出。 為 將輸出重定向到/ dev / null讓我們使用-o.
來自具有HTTPS的網站
如果我們有興趣對HTTPS站點使用此測試,則可以在終端中執行命令(Ctrl + Alt + T):
curl -s -w '\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppConnect Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null https://ubunlog.com
除了上述內容外,在此格式中還使用了更多的時間變量。 這些是:
- time_appconnect 時間 →花費的時間(以秒為單位) 從一開始,直到與遠程主機的SSL / SSH / etc連接完成.
- 時間重定向 →時間(以秒為單位) 在最終交易開始之前的所有重定向步驟。 計算多次重定向的總執行時間。
與前面的情況一樣,它也可以寫入文件。 與前面的情況一樣,我會 通話 control-speed-web.txt,然後您必須在其中粘貼:
\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppConnect Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n
保存文件並返回終端,我們可以 與語法一起使用:
curl -s -w "@control-velocidad-web.txt" -o /dev/null https://ubunlog.com
有關更多信息,您可以 諮詢 cUrl文檔 或手冊頁:
man curl
科莫 響應時間值將因不同因素而改變,建議進行不同的測試並建立平均速度。 我們還將看到的是,通過HTTP訪問網站通常比通過HTTPS訪問網站要快得多。