1. 程式人生 > 其它 >負載測試工具之Fortio

負載測試工具之Fortio

github: github.com/fortio/fortio

 

日常開發中通常需要知道系統能承受的最大負載,不滿足當前需求時對系統軟硬體進行相應的優化或升級。今天推薦的工具 Fortio 就是用來測試系統能承受負載資訊的工具,它執行一個設定的時間內固定的呼叫次數,或直到中斷(在一個恆定的目標QPS,或每個連線/執行緒的最大速度/負載)或其它載入方式來觀察不同負載下系統的響應時間和資料吞吐量,以檢驗系統的行為和特性並記錄執行時間詳細情況,以共我們發現系統可能存在的效能瓶頸、不能實時同步等問題。

除此之外 Fortio 還包括一組伺服器端功能(類似於 httpbin),以幫助除錯和測試服務:請求響應,包括標頭檔案,新增延遲或錯誤程式碼的概率分佈,tcp 回顯,tcp 代理,https 等等,測試結果還能圖形化展示或者 json 格式儲存。

 

[安裝]

go get fortio.org/fortio

[啟動]

fortio server

啟動服務成功後可以用瀏覽器訪問它的 web 使用者介面 http://localhost:8080/fortio/ 會看到一下頁面:w14_mon_fortio.png

頁面中填寫測試物件相關資訊後點擊 Start 按鈕開始,測試完成後跳轉到測試結果頁面,再結果頁面,部分結果內容如下:w14_mon_fortio_result.png

除了 Web 端外,Fortio 還提供了強大的命令列引數的進行負載測試,終端中以下格式輸入命令確認即進行測試並輸出測試結果:fortio load -c 100 -n 20 -qps 1000 https://gocn.vip/

 

常用命令列引數如下:

以上表格中的都是常用的基本命令引數,若更多命令引數請在終端輸入 fortio help 檢視。

 

總結

Fortio 是非常成熟的一個負載測試工具,維護者們也很活躍;可以用它負載測試,還可以把整合到企業內部測試工具中構建出更強大的測試工具,Fortio 的程式碼質量相當好,感興趣可以閱讀其原始碼學習並做出貢獻。

 

更多引數可參考:5axxw.com/wiki/content/yw5s93

 

參考資料

  • Fortio (https://github.com/fortio/fortio)

  • Fortio Documentation(https://pkg.go.dev/fortio.org/fortio/version)