Golang成長之路:簡單的壓測工具go_bench

前言

前一章提到,怎麼搭建一個簡單的web服務,咱們搭建好了,是不是需要測試下自己代碼的健壯性。所以我又找了個壓力測試工具。發現簡go_bench單實用。

 

正文

 

安裝

方式一:
go get github.com/linkxzhou/http_bench

方式二:
git clone [email protected]:linkxzhou/http_bench.git


下載完成之後,進入http_bench目錄下,進行編譯http_bench,命令如下:

cd http_bench

go build http_bench.go

這就準備完事了,可以使用了。

 

使用示例

例: ./http_bench -n 1000 -c 10 -t 3000 -m GET http://www.baidu.com/


含義:發送1000請求, 同時打開10個client, 超時時間設置爲3000ms,請求方式爲GET,請求鏈接http://www.baidu.com/


響應:
Output:
    Request:
    [1000] http://www.baidu.com
    Summary:
    Total:        5.2124 secs
    Slowest:      0.3283 secs
    Fastest:      0.0195 secs
    Average:      0.0345 secs
    Requests/sec: 191.8491

    Status code distribution:
    [200] 1000 responses

    Latency distribution:
    10% in 0.0253 secs
    25% in 0.0272 secs
    50% in 0.0298 secs
    75% in 0.0350 secs
    90% in 0.0498 secs
    95% in 0.0606 secs
    99% in 0.0872 secs

 

參數解析

 -n  請求HTTP的次數
    -c  併發的客戶端數量,但是不能大於HTTP的請求次數
    -q  頻率限制,每秒的請求數
    -o  輸出結果格式,可以爲CSV,也可以直接打印
    -m  HTTP方法,包括GET, POST, PUT, DELETE, HEAD, OPTIONS.
    -H  請求發起的HTTP的頭部信息,例如:-H "Accept: text/html" -H "Content-Type: application/xml"
    -t  請求超時的毫秒
    -A  HTTP的Accept的頭部字段
    -d  HTTP發起POST請求的body數據
    -T  HTTP的Content-type, 例如:"text/html","application/json"
    -a  HTTP的鑑權請求, 例如:http://username:password@xxx/
    -x  HTTP的代理IP和端口
    -disable-compression  不啓用壓縮
    -disable-keepalive    不開啓keepalive
    -cpus                 使用cpu的內核數
    -host                 HTTP請求的host的值
    -file  讀取文件中的URL,格式爲一行一個URL,發起請求每次隨機選擇發送的URL

 

這就完了,親測簡單實用。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章