通過jmeter壓測surging的方法
Jmeter簡介
Jmeter是Apache開源的一個使用純Java編寫的壓力測試工具,它最初是為測試web應(yīng)用程序而設(shè)計的,但后來擴展到了其他測試功能。例如,可用于測試靜態(tài)和動態(tài)資源以及web動態(tài)應(yīng)用程序的性能等。Jmeter可以用來模擬對服務(wù)器、服務(wù)器組、網(wǎng)絡(luò)或?qū)ο笊系闹刎撦d,以測試其強度或分析服務(wù)在不同負載類型下的總體性能。
如今Jmeter是一個主流的、功能完善且強大的壓測工具,由于是使用Java編寫的,所以具有跨平臺特性,可以運行在Windows、Mac、Linux等操作系統(tǒng)上。并且支持豐富的協(xié)議,如:HTTP/HTTPS、FTP、JDBC、SOCKET、SOAP。。。等,此外還有許多第三方插件支持以及第三方集成
前言
surging是異構(gòu)微服務(wù)引擎,提供了模塊化RPC請求通道,引擎在RPC服務(wù)治理基礎(chǔ)之上還提供了各種協(xié)議,并且還提供了stage組件,以便針對于網(wǎng)關(guān)的訪問, 相對于功能,可能大家更想知道能承受多大的并發(fā),大家也會各自進行壓測,當碰上一些問題,導致壓測結(jié)果不理想就會扣帽子給框架引擎,這個性能不行,那么上一個帖子回應(yīng)了@wen-wen 所貼的壓測報告,針對于壓測結(jié)果,很多人不明所以,都是以一筆帶過的方式告訴大家結(jié)果,那么這次從頭至尾,把環(huán)境和測試過程進行梳理,通過此篇文章進行發(fā)布,也請各大同行監(jiān)督。
環(huán)境
處理:Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz 2.20 GHz
內(nèi)存:16.0 GB
語言:.NET 6.0
下載配置源碼
1.通過surging 下載最新的源碼, 下載完之后,選擇測試ManagerService 模塊服務(wù)中的Say服務(wù),而測試的代碼也比較簡單,就是返回一字符串,代碼如下
public async Task<string> Say(string name) { return await Task.FromResult($"{name}: say hello"); }
2. 把日志級別提高,因為這會影響性能,比如設(shè)置的info 就要比error 級別低三倍,以測試的日志配置為例,測試使用的是NLog, 在Nlog.config 下把coloredConsole改成error級別,代碼如下
<?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <targets> <target name="coloredConsole" xsi:type="ColoredConsole" useDefaultRowHighlightingRules="false" layout="${longdate}|${pad:padding=5:inner=${level:uppercase=true}}|${message}" > <highlight-row condition="level == LogLevel.Debug" foregroundColor="DarkGray" /> <highlight-row condition="level == LogLevel.Info" foregroundColor="Gray" /> <highlight-row condition="level == LogLevel.Warn" foregroundColor="Yellow" /> <highlight-row condition="level == LogLevel.Error" foregroundColor="Red" /> <highlight-row condition="level == LogLevel.Fatal" foregroundColor="Red" backgroundColor="White" /> </target> <target name="file" xsi:type="File" archiveAboveSize="10240" layout="${date}|${level:uppercase=true}|${message} ${exception}|${logger}|${all-event-properties}" fileName="c:\surging1\${level}\_${shortdate}.log" /> </targets> <rules> <logger name="*" minlevel="error" writeTo="file" /> <logger name="*" minlevel="error" writeTo="coloredConsole" /> </rules> </nlog>
3. release類型下 發(fā)布server,之后通過dotnet Surging.Services.Server.dll 命令進行運行,運行成功之后,通過瀏覽器是否可訪問
JMeter和JDK下載
1、JMeter下載地址:http://jmeter.apache.org/download_jmeter.cgi
2、JDK下載地址:https://www.oracle.com/technetwork/cn/java/javase/downloads/index.html
JDK+Jmeter安裝
1、windows安裝(以win 7為例)
1、 安裝jdk、配置java環(huán)境變量(步驟略)
2、 解壓apache-jmeter-2.13.zip到D盤
3、 桌面選擇“計算機”(右鍵)--高級系統(tǒng)設(shè)置--環(huán)境變量
4、 在”系統(tǒng)變量“---”新建“,在變量名中輸入:JMETER_HOME,變量值中輸入:D:\apache-jmeter-2.13
5、 修改CLASSPATH變量,變量值中添加 %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar; 再點確定。
6、 進入到D:\apache-jmeter-5\bin下運行jmeter.bat即可打開JMeter
Jmeter非GUI運行壓測
創(chuàng)建配置jmx 文件
1. 新增Thread Group
配置thread group的user thread為2000
2. 在thread group 下新增Http Request
配置Http Request,壓測接口為http://localhost:281/api/manager/say?name=fanly,記得勾上Use KeepAlive
3. 然后點擊save as 達到D:\
4.運行jmeter 控制臺進行壓測,代碼如下
jmeter -n -t D:\HTTP.jmx -l D:\read.csv -e -o D:\ResultReport
5. 運行結(jié)果如下
以上看不懂,可以把生成的read.csv 加載到j(luò)meter 生成報告進行查看,如下圖
從以上圖可以看出surging 的http 壓測的吞吐量是12589/s
結(jié)尾
也歡迎同行,粉絲,客戶們可以按照以上的配置方式進行壓測,也提醒各位不要開啟info 級別日志,因為這會造成性能上大幅降低,壓測只有4000/s ,只有error 級別差不多1/6 ,也透露下surging 后續(xù)會提供平臺可視化,以下是部分模塊
到此這篇關(guān)于通過jmeter壓測surging的文章就介紹到這了,更多相關(guān)jmeter壓測surging內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
asp.net中使用repeater和PageDataSource搭配實現(xiàn)分頁代碼
asp.net中使用repeater和PageDataSource搭配實現(xiàn)分頁代碼,需要的朋友可以參考下2013-04-04.NET Core 遷移躺坑記續(xù)集之Win下莫名其妙的超時
這篇文章主要介紹了.NET Core 遷移躺坑記續(xù)集之Win下莫名其妙的超時,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04ASP.NET Core 1.0 部署 HTTPS(.NET Core 1.0)
這篇文章主要為大家詳細介紹了ASP.NET Core 1.0 部署 HTTPS(.NET Core 1.0),感興趣的小伙伴們可以參考一下2016-07-07asp.net 多文件上傳,兼容IE6/7/8,提供完整代碼下載
項目中需要使用多文件上傳,上傳的文件保存在磁盤文件上,文件相關(guān)信息保存在數(shù)據(jù)庫里。2010-07-07ASP.NET生成eurl.axd Http異常錯誤的處理方法
在IIS6中同時啟用了ASP.NET 2.0 和 ASP.NET 4.0 后,網(wǎng)站程序可能會出現(xiàn)如下錯誤:“ System.Web.HttpException: Path ‘//eurl.axd/‘ was not found. ”2011-05-05