負載測試工具之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)