Hitchhiker 是一款開源的 Restful Api 集成測試工具,支持Schedule, 數據對比,壓力測試,能夠輕鬆部署到本地,和你的team成員一塊兒管理Api。html
詳細介紹請看: http://www.cnblogs.com/brookshi/p/7440663.htmlgit
在線體驗: http://www.hitchhiker-api.com/, 能夠用 try without login
來免登陸使用 (在線演示不支持壓力測試,虛擬機單核的,撐不住)。github
雙11快到了,常常會有整點秒殺的活動,秒殺就是一個典型的壓力場景,因此建了一個簡單的Case來表現這種場景,來展現Hitchhiker壓力測試功能:
json
Hitchhiker使用一個基於Golang的分佈式壓力節點,這是一個單獨的項目:Hitchhiker-Node。得益於Golang的交叉編譯,輕鬆跨平臺生成文件,因此只有一個可執行文件和一個配置文件,沒有環境依賴,直接執行。api
使用時在release頁面先選擇對應平臺的zip文件下載下來,解壓後會有兩個文件,一個可執行文件和一個配置文件config.json,打開配置文件,把Address
的值從localhost改成部署Hitchhiker機器的ip,而後再執行Hitchhiker-Node文件,這樣就弄好了一個壓力點。併發
若是想壓出很大的請求就能夠考慮部署到多臺機器上,Hitchhiker會自動根據機器的CPU核數來分配任務,固然,通常狀況下直接部署到Hitchhiker同一臺機器就夠用了。分佈式
壓力測試用的也是Collection
的Request
,能夠選擇性的挑出合適的Request
用來作Case,壓力測試的參數有:工具
- Repeat: 運行整套請求的次數
- Concurrency: 併發個數
- QPS: 1秒內限制單個節點請求的個數,默認爲0,即沒有限制
- Timeout: 請求的超時時間設置,單位爲秒,默認爲0,即沒有超時設置
- Keeplive: 設置請求是否使用Keeplive
運行壓力測試任務時會實時顯示運行狀態,包括節點的狀態(閃爍表示正在工做),當前任務及任務的數量,下方有三個圖表,分別表示測試
Request
的請求消耗時間,包括 DNS, Connect, Request, Min, Max 這五個源碼部署時支持改端口,以前固定用的8080,要改須要改js文件,如今只需在部署文件時改就行了。.net
改正Schedule空跑時的異常。
壓力測試在國慶後總算作出來,後來又花了一些時間來測試,0.2這個版本算是告一段落。
接下來版本計劃要改下,涉及新功能的都是大版本,bug是小版本。
下個模塊功能是支持API文檔,但願能是一個自定義的,所見即所得,支持導出經常使用格式的API文檔系統。
小功能和bug會持續改進。
Github: https://github.com/brookshi/Hitchhiker, 以爲不錯的話麻煩 Star 支持下,謝謝。