開源API集成測試工具 Hitchhiker v0.2更新 - 壓力測試

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同一臺機器就夠用了。分佈式


壓力測試用的也是CollectionRequest,能夠選擇性的挑出合適的Request用來作Case,壓力測試的參數有:工具

  • Repeat: 運行整套請求的次數
  • Concurrency: 併發個數
  • QPS: 1秒內限制單個節點請求的個數,默認爲0,即沒有限制
  • Timeout: 請求的超時時間設置,單位爲秒,默認爲0,即沒有超時設置
  • Keeplive: 設置請求是否使用Keeplive

運行壓力測試任務時會實時顯示運行狀態,包括節點的狀態(閃爍表示正在工做),當前任務及任務的數量,下方有三個圖表,分別表示測試

  1. 當前的運行進度,包括完成的數量及TPS
  2. 各個Request的請求消耗時間,包括 DNS, Connect, Request, Min, Max 這五個
  3. 請求失敗的狀態,包括 No Response, Server Error(500), Test失敗 這三種狀況

其餘改動

  1. 源碼部署時支持改端口,以前固定用的8080,要改須要改js文件,如今只需在部署文件時改就行了。.net

  2. 改正Schedule空跑時的異常。

後續計劃

壓力測試在國慶後總算作出來,後來又花了一些時間來測試,0.2這個版本算是告一段落。
接下來版本計劃要改下,涉及新功能的都是大版本,bug是小版本。
下個模塊功能是支持API文檔,但願能是一個自定義的,所見即所得,支持導出經常使用格式的API文檔系統。
小功能和bug會持續改進。

Github: https://github.com/brookshi/Hitchhiker, 以爲不錯的話麻煩 Star 支持下,謝謝。

相關文章
相關標籤/搜索