分布式效能測試框架單節點內測

2022-09-16 22:24:18 字數 3894 閱讀 1515

在經過這麼久的鋪墊,funtester測試框架分布式版本的工作正式開始了,我首先寫了乙個單節點的版本,通過http協議介面進行任務上傳,而非像之前設想中的,定時去master節點進行pull任務。

此版本為單節點部署,可本地部署,預計下個月開源,主要是考慮到版本不穩定,肯定會進行多輪更改。

當前服務只是針對之前設想的方案(一)(基於httprequestbase物件)進行實踐,感興趣的童鞋可以翻看舊文章:

至於方案(二)(基於jar包方法模板)和方案(三)(基於j**a/groovy測試指令碼)的設想、驗證以及實現,後續會慢慢推出。ps:沒看錯,我已經找找了執行j**a測試指令碼的方法。

自費伺服器,大家以體驗為主。以後實際使用以本地部署為主,公網依然以體驗為主,這個伺服器費用還是有點貴的。

請求方式:post

引數型別

限制備註

times

intthread

intmode

string

預設ftt

desc

string

任務描述

runup

int軟啟動時間

keystring

訪問秘鑰,找funtester作者要

request

string

被測請求,格式如下

request也可以通過json物件上傳引數,文件如下:

引數型別

限制備註

requesttype

string

請求型別,目前get/post

uristring

請求位址

args

json

get請求引數

json

json

post請求json引數

params

json

post請求form表單引數

headers

jsonarray

請求headers(key-value)

"uri":"待測介面位址"},

"times":10,

"thread":1,

"runup":1,

"key":"funtester2021",

"desc":"funtester分布式測試demo"

}這個版本將所有的引數都用json格式,python版本的也參考這個構建請求引數。我python已經生疏,由於時間關係,我等其他大佬實現了之後會做分享。

}我給groovy的乙個定義就是快速構建測試指令碼,這裡非常明顯差異,對比以上兩種j**a版本的**,groovy非常簡單。

}介面響應是乙個json物件,也是乙個com.funtester.base.bean.performanceresultbean物件,後面我會奉上**,這裡先看見控制台輸出。

info-> 請求uri: , 耗時:14217 ms , httpcode: 200

info->

~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~ json ~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~

> ,

> ① . "funtester":200

> }

~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~ json ~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~

其中最外層的funtester是框架加上去的,並非真正的響應。data中的內容就是效能測試的結果,也就是com.funtester.base.bean.performanceresultbean物件。其中如果想看table內容的話,需要新增兩行**:

string table = response.getjsonobject("data").getstring("table");

output(decodeencode.unzipbase64(table));

控制台輸出如下:

/** * 效能測試結果集

*/class performanceresultbean extends abstractbean implements serializable

}

分布式效能測試

應用場景 單台測試機不能產生足夠的執行緒數,需要多台測試機協作測試伺服器效能 概念 分布式 多台測試機協作,以集群的方式共同完成測試任務 作用 產生海量併發 1,控制機制定測試任務,下發到執行機 2,執行機執行任務並將結果返回給控制機器 3,控制機做結果彙總 1環境搭建 步驟1.搭建物理環境 準備乙...

Jmeter分布式效能測試

1 簡單理解,就是一台執行機分擔不了的負載,分到若干臺執行機一起執行 2 任務和指令碼分發由控制機執行,指令碼裡面設定的執行緒數是在每一台執行機執行的數量,不要弄錯了 3 然後執行機執行的結果會在控制機進行彙總,總結 控制機 一般是windows系統 1.修改jmeter.properties屬性檔...

分布式 常見分布式框架

分布式協調系統 日誌複製系統 paxos演算法及其變體的實現,典型的有zookeeper etcd 分布式檔案系統 hdfs hadoop 分布式nosql redis hbase 訊息佇列 rabbitmq kafka,關注訊息的at least once,at most once,only on...