httpstat:一個(gè)檢查網(wǎng)站性能的 curl 統(tǒng)計(jì)分析工具
httpstat 是一個(gè) Python 腳本,它以美妙妥善的方式反映了 curl 統(tǒng)計(jì)分析,它是一個(gè)單一腳本,兼容 Python 3 ,在用戶的系統(tǒng)上不需要安裝額外的軟件(依賴)。
從本質(zhì)上來說它是一個(gè) cURL 工具的封裝,意味著你可以在 URL 后使用幾個(gè)有效的 cURL 選項(xiàng),但是不包括 -w、 -D、 -o、 -s 和 -S 選項(xiàng),這些已經(jīng)被 httpstat 使用了。
httpstat Curl 統(tǒng)計(jì)分析工具
你可以看到上圖的一個(gè) ASCII 表顯示了每個(gè)過程消耗多長時(shí)間,對(duì)我來說最重要的一步是“服務(wù)器處理server processing” – 如果這個(gè)數(shù)字很高,那么你需要優(yōu)化你網(wǎng)站服務(wù)器來加速訪問速度。
網(wǎng)站或服務(wù)器優(yōu)化你可以查看我們的文章:
- 5 個(gè)優(yōu)化 Apache Web 服務(wù)器性能的技巧
- 使 Apache 和 Nginx 性能提升 10 倍
- 如何使用 Gzip 模塊提高 Nginx 性能
- 15 個(gè)優(yōu)化 MySQL/MariaDB 性能的建議
使用下面安裝說明和用法來獲取 httpstat 檢查出你的網(wǎng)站速度。
在 Linux 系統(tǒng)中安裝 httpstat
你可以使用兩種合理的方法安裝 httpstat :
- 使用 wget 命令直接從它的 Github 倉庫獲取如下:
- $ wget -c https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py
- 使用 pip(這個(gè)方法允許 httpstat 作為命令安裝到你的系統(tǒng)中)像這樣:
- $ sudo pip install httpstat
注:確保 pip 包已經(jīng)在系統(tǒng)上安裝了,如果沒使用你的發(fā)行版包管理器 yum 或 apt安裝它。
在 Linux 中如何使用 httpstat
httpstat 可以根據(jù)你安裝它的方式來使用,如果你直接下載了它,進(jìn)入下載目錄使用下面的語句運(yùn)行它:
- $ python httpstat.py url cURL_options
如果你使用 pip 來安裝它,你可以作為命令來執(zhí)行它,如下表:
- $ httpstat url cURL_options
查看 httpstat 幫助頁,命令如下:
- $ python httpstat.py --help
- 或
- $ httpstat --help
httpstat 幫助:
- Usage: httpstat URL [CURL_OPTIONS]
- httpstat -h | --help
- httpstat --version
- Arguments:
- URL url to request, could be with or without `http(s)://` prefix
- Options:
- CURL_OPTIONS any curl supported options, except for -w -D -o -S -s,
- which are already used internally.
- -h --help show this screen.
- --version show version.
- Environments:
- HTTPSTAT_SHOW_BODY Set to `true` to show response body in the output,
- note that body length is limited to 1023 bytes, will be
- truncated if exceeds. Default is `false`.
- HTTPSTAT_SHOW_IP By default httpstat shows remote and local IP/port address.
- Set to `false` to disable this feature. Default is `true`.
- HTTPSTAT_SHOW_SPEED Set to `true` to show download and upload speed.
- Default is `false`.
- HTTPSTAT_SAVE_BODY By default httpstat stores body in a tmp file,
- set to `false` to disable this feature. Default is `true`
- HTTPSTAT_CURL_BIN Indicate the curl bin path to use. Default is `curl`
- from current shell $PATH.
- HTTPSTAT_DEBUG Set to `true` to see debugging logs. Default is `false`
從上面幫助命令的輸出,你可以看出 httpstat 已經(jīng)具備了一些可以影響其行為的環(huán)境變量。
使用它們,只需輸出適當(dāng)?shù)闹档倪@些變量到 .bashrc 或 .zshrc 文件。
例如:
- export HTTPSTAT_SHOW_IP=false
- export HTTPSTAT_SHOW_SPEED=true
- export HTTPSTAT_SAVE_BODY=false
- export HTTPSTAT_DEBUG=true
你一旦添加完它們,保存文件然后運(yùn)行下面的命令使改變生效:
- $ source ~/.bashrc
你可以指定使用 cURL 執(zhí)行文件的路徑,默認(rèn)使用的是當(dāng)前 shell 的 $PATH 環(huán)境變量。
下面是一些展示 httpstat 如何工作的例子。
- $ python httpstat.py google.com
- 或
- $ httpstat google.com
httpstat – 展示網(wǎng)站統(tǒng)計(jì)分析
接下來的命令中:
- -X 命令標(biāo)記指定一個(gè)客戶與 HTTP 服務(wù)器連接的請(qǐng)求方法。
- --data-urlencode 這個(gè)選項(xiàng)將會(huì)把數(shù)據(jù)(這里是 a=b)按 URL 編碼的方式編碼后再提交。
- -v 開啟詳細(xì)模式。
- $ python httpstat.py httpbin.org/post -X POST --data-urlencode "a=b" -v
httpstat – 定制提交請(qǐng)求
你可以查看 cURL 的幫助獲取更多有用的高級(jí)選項(xiàng),或者瀏覽 httpstat 的 Github 倉庫: https://github.com/reorx/httpstat
這篇文章中,我們講述了一個(gè)有效的工具,它以簡單和整潔方式來查看 cURL 統(tǒng)計(jì)分析。如果你知道任何類似的工具,別猶豫,讓我們知道,你也可以問問題或評(píng)論這篇文章或 httpstat,通過下面反饋。