開源的負載測試/壓力測試工具NBomber | IT人
文章推薦指數: 80 %
負載測試和壓力測試對於確保web 應用的效能和可縮放性非常重要。
... 一些抽象,以便我們可以描述任何型別的負載,並且仍然有一個簡單、直觀的API。
Togglenavigation
IT人
IT人
開源的負載測試/壓力測試工具NBomber
張善友發表於
2021-07-18
負載測試和壓力測試對於確保web應用的效能和可縮放性非常重要。
儘管它們的某些測試是相同的,但目標不同。
負載測試:測試應用是否可以在特定情況下處理指定的使用者負載,同時仍滿足響應目標。
應用在正常狀態下執行。
壓力測試:在極端條件下(通常為長時間)執行時測試應用的穩定性。
測試會對應用施加高使用者負載(峰值或逐漸增加的負載)或限制應用的計算資源。
壓力測試可確定壓力下的應用是否能夠從故障中恢復,並正常返回到預期的行為。
在壓力下,應用不會在正常狀態下執行。
NBomber是一個開源的.NET框架,開源協議是Apache2.0,NBomber用於對多種服務進行負載測試,包括Web、訊息佇列、資料庫等。
今年5月份釋出了NBomber2.0版本。
NBomber類似於JMeter,但是和JMeter不一樣的地方是,NBomber是通過F#/C#/JSON程式碼來表達測試場景。
NBomber背後的主要原因是為編寫負載測試提供了一個輕量級框架,您可以使用它來測試任何系統並模擬任何生產工作負載。
我們只想提供一些抽象,以便我們可以描述任何型別的負載,並且仍然有一個簡單、直觀的API。
另一個目標是提供構建塊,通過應用任何複雜的負載分佈來驗證您的POC(概念驗證)專案。
使用NBomber,您可以測試任何PULL或PUSH系統(HTTP、WebSockets、GraphQl、gRPC、SQLDatabse、MongoDb、Redis等)。
使用NBomber,您可以輕鬆地將一些整合測試轉換為負載測試。
NBomber作為一個現代框架提供:零依賴協議(HTTP/WebSockets/AMQP/SQL)對語義模型的零依賴(Pull/Push)非常靈活的配置和非常簡單的API(F#/C#/JSON)叢集支援實時報告CI/CD整合資料饋送支援NBomber的使用比較簡單,跟著入門文件走一遍就學會了:https://nbomber.com/docs/overview1、建立一個控制檯程式dotnetnewconsole-nNBomberTest-lang"C#"
cdNBomberTest2、新增NBomber包dotnetaddpackageNBomber3、建立helloworld負載測試讓我們先從一個空的helloworld開始,以便更熟悉NBomber。
在這個例子中,我們將定義一個簡單的步驟和場景,它什麼都不做。
usingSystem;
usingSystem.Threading.Tasks;
usingNBomber.Contracts;
usingNBomber.CSharp;
namespaceNBomberTest
{ classProgram { staticvoidMain(string[]args) { //first,youneedtocreateastep varstep=Step.Create("step",asynccontext=> { //youcandefineandexecuteanylogichere, //forexample:sendhttprequest,SQLqueryetc //NBomberwillmeasurehowmuchtimeittakestoexecuteyourlogic
awaitTask.Delay(TimeSpan.FromSeconds(1)); returnResponse.Ok(); }); //second,weaddoursteptothescenario varscenario=ScenarioBuilder.CreateScenario("hello_world",step);
NBomberRunner .RegisterScenarios(scenario) .Run(); } }
}4、執行負載測試
執行測試後,您將獲得一份報告,放在F:\Samples\NBomberTest\reports\2021-07-18_12.04.89_session_57c6dcf0。
資料夾下有有4種格式(txt、csv、html、md)的報告,其中Html頁面的報告比較直觀:
相關文章
APP安卓滲透測試四大步驟
2021-07-15
滲透測試公司談網站安全評估方法
2021-07-15
『心善淵』Selenium3.0基礎—28、unittest中測試套件的使用
2021-07-15
程式碼重構與單元測試——“提取方法”重構(三)
2021-07-15
測試基礎(四)Jmeter基礎使用
2021-07-15
《手把手教你》系列技巧篇(八)-java+selenium自動化測試-元素定位大法之Byid(詳細教程)
2021-07-15
Java自動化測試
laravelseed生成測試資料
2021-07-15
Laravel
【TEST】Oracle19c使用benchmarksql進行效能測試
2021-07-16
OracleSQL
『心善淵』Selenium3.0基礎—30、UI自動化測試之POM設計模式
2021-07-16
設計模式自動化測試
幹掉Postman?測試介面直接生成API文件,這個工具賊好用
2021-07-16
FlutterGzip編碼與解碼DartGzip工具類操作
2021-07-15
Flutter
【重學Java】多執行緒進階(執行緒池、原子性、併發工具類)
2021-07-16
Java
一個讓我欲罷不能的開源文件管理工具
2021-07-17
JUnit5依賴注入與測試介面
2021-07-18
嵌入式Redis伺服器在SpringBoot測試中的使用
2021-07-18
Redis嵌入式Spring
脫離OBDeploy工具,手工部署OceanBase方法
2021-07-19
最新文章
阿里大規模業務混部下的全鏈路資源隔離技術演進
【伺服器資料恢復案例解讀】伺服器突然崩潰,重啟後無法進入系統故障的資料恢復
電商行業資料包表調研的三個維度
產品經理不可能不知道的優秀團隊協作工具—飛項
NFT商城系統介紹|NFT模式系統原始碼搭建
一篇簡文讓你明白CPU到底是什麼?為什麼能夠實現計算?
華為聯合團隊斬獲AI頂會NeurIPS2021ML4CO求解器超參優化賽道冠軍
什麼是微服務架構?什麼是服務註冊與發現
資料分析的4個目的3個意義,新手小白一定要看!
非計算機專業人員如何學習好Python技術?
「Spark從精通到重新入門(一)」Spark中不可不知的動態優化
WebGoat8.2.2-A8不安全的反序列化
延伸文章資訊
- 1api压测工具_10大主流性能测试工具推荐 - CSDN博客
- 2ASP.NET Core 負載/壓力測試
對應的Azure DevOps 雲端負載測試服務已關閉。 協力廠商工具. 下列清單包含具有各種功能集的協力廠商web 效能工具:. Apache JMeter · ApacheBench (ab...
- 3伺服器API壓力測試-ab工具- IT閱讀
伺服器API壓力測試-ab工具 ... 最近對伺服器的某些api進行效能測試,我們關注的主要指標就是系統吞吐量。 ... 我們採用apacheBench 工具進行測試。
- 4JMeter-網頁壓力測試教學- Astral Web 歐斯瑞有限公司
註:這個就是http request,當我們要測試Web Api的時候通常都會有Http request去請求Api,可以在裡面設定Api路徑,用什麼請求方式等等。 4.指定要測試的網頁(如下圖...
- 5系統壓力測試計畫-使用JMETER工具 - TPIsoftware
介紹系統壓力測試計畫及使用JMETER各項設定如何搭配壓力測試。 ... 測試同時上線查詢產品持有功能:主要是測試同時執行最多支API的負載及效能表現狀況.