Fortio負(fù)載測試工具
Fortio 是一個(gè)微服務(wù)(http,grpc)負(fù)載測試庫,命令行工具,高級回聲服務(wù)器,以及go(golang)的web UI。Fortio允許指定一組每秒查詢的負(fù)載,并記錄延遲直方圖和其他有用的統(tǒng)計(jì)數(shù)據(jù)。
Fortio(Φορτ?ο)最初是 Istio 的負(fù)載測試工具,現(xiàn)在已經(jīng)發(fā)展成為自己的開源項(xiàng)目。fortio 這個(gè)名字來自希臘語φορτ?ο,意思是負(fù)載/負(fù)擔(dān)。
Fortio 以指定的每秒查詢次數(shù)(qps)運(yùn)行,記錄執(zhí)行時(shí)間的柱狀圖,并計(jì)算百分比(如p99即響應(yīng)時(shí)間,如99%的請求耗時(shí)少于該數(shù)字(秒,SI單位))。它可以運(yùn)行一個(gè)設(shè)定的時(shí)間,固定的調(diào)用次數(shù),或直到中斷(在一個(gè)恒定的目標(biāo)QPS,或每個(gè)連接/線程的最大速度/負(fù)載)。
Fortio 是一個(gè)快速、小型(3Mb的docker鏡像,最小的依賴性)、可重用、可嵌入的go庫,以及一個(gè)命令行工具和服務(wù)器進(jìn)程,服務(wù)器包括一個(gè)簡單的web UI和結(jié)果的圖形表示(包括一個(gè)單一的延遲圖和一個(gè)多結(jié)果比較的min、max、avg、qps和百分比圖)。
Fortio還包括一組服務(wù)器端的功能(類似于httpbin),以幫助調(diào)試和測試:請求回顯,包括頭信息,添加延遲或錯(cuò)誤代碼的概率分布,tcp回顯,tcp代理,http扇出/散射和收集代理服務(wù)器,GRPC回顯/健康在http之外,等等。
Fortio組件可以作為一個(gè)庫,甚至用于不相關(guān)的項(xiàng)目,例如日志、統(tǒng)計(jì)、或客戶端和服務(wù)器上的fhttp工具。以及新集成的動(dòng)態(tài)標(biāo)志支持。
