天天透天天干,欧美福利在线,国产三级网站,色婷婷综合网,亚洲欧美成人一区二区,亚洲国产精品成人久久久麻豆,国产剧情久久久

您當(dāng)前的位置是:  首頁(yè) > 資訊 > 國(guó)內(nèi) >
 首頁(yè) > 資訊 > 國(guó)內(nèi) >

環(huán)信學(xué)院|基于Jmeter的百萬(wàn)級(jí)tps性能測(cè)試實(shí)踐

2022-11-17 14:49:43   作者:   來(lái)源:CTI論壇   評(píng)論:0  點(diǎn)擊:


如何對(duì)系統(tǒng)的承載能力和響應(yīng)時(shí)間做出準(zhǔn)確的評(píng)估,為資源的合理配置及優(yōu)化提供依據(jù),性能測(cè)試就成了必不可少的測(cè)試手段,本文會(huì)給讀者推薦一款業(yè)界占有率最高的一款性能測(cè)試工具——Jmeter。

本文作者朱凱是環(huán)信測(cè)試主管,有近20年測(cè)試工作經(jīng)驗(yàn),服務(wù)過(guò)多種行業(yè)領(lǐng)域。擅長(zhǎng)性能測(cè)試,有多個(gè)大型項(xiàng)目的性能測(cè)試經(jīng)驗(yàn)。

   

互聯(lián)網(wǎng)時(shí)代,因?yàn)槌^(guò)系統(tǒng)承載能力而出現(xiàn)的宕機(jī)情況,時(shí)有發(fā)生,不僅給用戶帶來(lái)極為不好的體驗(yàn),也讓互聯(lián)網(wǎng)廠商蒙受了巨大的損失。

根據(jù)Aberdeen Group的研究報(bào)告,對(duì)于Web網(wǎng)站,1秒的頁(yè)面加載延遲相當(dāng)于少了11%的PV(page view 打開(kāi)頁(yè)面的次數(shù)),相當(dāng)于降低了16%的顧客滿意度。

Compuware公司分析了超過(guò)150個(gè)網(wǎng)站和150萬(wàn)個(gè)瀏覽頁(yè)面,發(fā)現(xiàn)頁(yè)面響應(yīng)時(shí)間從2秒增長(zhǎng)到10秒,會(huì)導(dǎo)致38%的頁(yè)面瀏覽放棄率。

如何對(duì)系統(tǒng)的承載能力和響應(yīng)時(shí)間做出準(zhǔn)確的評(píng)估,為資源的合理配置及優(yōu)化提供依據(jù),性能測(cè)試就成了必不可少的測(cè)試手段,本文會(huì)給讀者推薦一款業(yè)界占有率最高的一款性能測(cè)試工具——Jmeter。

下面會(huì)從成本、報(bào)表系統(tǒng)和擴(kuò)展性三個(gè)維度來(lái)介紹下業(yè)界最高占有率的性能測(cè)試工具Jmeter。

 

1、成本

費(fèi)用成本

Jmeter開(kāi)源,免費(fèi),工具費(fèi)用成本為0。

使用成本

部署成本非常低,僅依賴jdk,jmeter包解壓即可使用,真正做到開(kāi)箱即用。

腳本編寫門檻很低,Jmeter有UI操作界面,方便快速,常規(guī)場(chǎng)景0代碼即可使用。

1.jpg

豐富的組件滿足不同的場(chǎng)景需求:

2.jpg

各種好用的函數(shù)能讓數(shù)據(jù)生成更加快捷:

 

3.jpg廣泛的協(xié)議支持滿足絕大多數(shù)性能測(cè)試場(chǎng)景:

  • Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET,...)

  • SOAP / REST Webservices

  • Websocket

  • MQTT

  • XMPP

  • FTP

  • Database via JDBC

  • LDAP

  • Message-oriented Middleware (MOM) via JMS

  • Mail - SMTP(S), POP3(S) and IMAP(S)

  • Native commands or shell scripts

  • TCP

  • Java Objects

2、報(bào)表系統(tǒng)

 

Jmeter能生成豐富的html格式報(bào)表系統(tǒng),從不同維度對(duì)性能測(cè)試結(jié)果進(jìn)行分析,以下是部分Jmeter報(bào)告的示例圖。

報(bào)告的基本信息,包括執(zhí)行時(shí)間、應(yīng)用性能指數(shù)和請(qǐng)求概要信息等:

4.jpg

統(tǒng)計(jì)概要信息,包括請(qǐng)求名、請(qǐng)求數(shù)量、成功數(shù)量、錯(cuò)誤率、平均響應(yīng)時(shí)間、吞吐率(tps)和網(wǎng)絡(luò)流量等:

5.jpg

錯(cuò)誤概要信息,包括錯(cuò)誤類型、錯(cuò)誤數(shù)量、錯(cuò)誤類型占比和錯(cuò)誤數(shù)量百分比等:

6..jpg

Top 5錯(cuò)誤概要信息,包括錯(cuò)誤請(qǐng)求名、請(qǐng)求數(shù)量、top 5錯(cuò)誤請(qǐng)求類型和top 5錯(cuò)誤請(qǐng)求數(shù)量等:

7.jpg

整個(gè)測(cè)試運(yùn)行期間的響應(yīng)時(shí)間圖,包括所有請(qǐng)求的響應(yīng)時(shí)間圖:

d727aba0bb8dbcaba0b87bff3fffaabc.jpg

整個(gè)測(cè)試運(yùn)行期間的響應(yīng)時(shí)間分布百分比圖,包括P90、P95、P99、Max和Min:

2966e6c6ff32d2066e14663c84fd8ede.jpg

整個(gè)測(cè)試運(yùn)行期間的活動(dòng)線程數(shù):

10.jpg

整個(gè)測(cè)試運(yùn)行期間的吞吐字節(jié)數(shù):

11.jpg

 

  • Jmeter如需生成報(bào)告,需先記錄日志文件,此日志通常會(huì)非常大,注意將該文件生成到磁盤空間足夠的區(qū)域。

  • Jmeter生成報(bào)告前會(huì)在命令執(zhí)行目錄生成一個(gè)temp文件夾,該文件夾空間占用會(huì)非常大,注意在磁盤空間足夠的區(qū)域執(zhí)行命令。

 

3、軟件擴(kuò)展性

Jmeter本身是100%Java實(shí)現(xiàn),擴(kuò)展非常方便?梢宰约洪_(kāi)發(fā)各種協(xié)議包、邏輯組件等。

另外不得不提的就是Jmeter本身的社區(qū)支持,plugins manager,目前已有100+插件,且還在不斷快速增加中,插件遍布jmeter的各種組件類型,極大的方便了使用者的快速組合出各種性能測(cè)試場(chǎng)景。

plugins manager的安裝和使用也非常的容易。從https://jmeter-plugins.org/install/Install/頁(yè)面下載jmeter-plugins-manager-1.7.jar,放到j(luò)meter的lib/ext目錄后重啟jmeter,即可從菜單中找到插件中心:

12.jpg

 

13.jpg

橫向擴(kuò)展性

 

當(dāng)我們要進(jìn)行百萬(wàn)級(jí)TPS性能測(cè)試時(shí),單個(gè)實(shí)例難免力不從心,這個(gè)時(shí)候,Jmeter的分布式測(cè)試模式能很好的解決這個(gè)問(wèn)題。Jmeter的分布式工作模式為一master,多slave模式,如下圖:

14.jpg

性能測(cè)試過(guò)程啟動(dòng)后,master機(jī)器下發(fā)腳本到各slave機(jī),由slave機(jī)對(duì)目標(biāo)機(jī)器發(fā)起請(qǐng)求,如下圖:

15.jpg

單個(gè)jmeter實(shí)例啟用的線程數(shù)建議1000-2000之間,太多可能會(huì)導(dǎo)致jmeter自身性能下降。

 

  • 分布式測(cè)試時(shí),腳本由master機(jī)器下午到各slave機(jī),所以slave機(jī)并不需要放置測(cè)試腳本;測(cè)試腳本中如果有讀取本地csv的動(dòng)作,會(huì)從各slave機(jī)本地讀取,為了降低部署成本,分布式測(cè)試時(shí),不建議有讀取本地文件的行為。

  • 分布式測(cè)試時(shí),在master機(jī)器上執(zhí)行腳本的過(guò)程如果中斷測(cè)試,會(huì)導(dǎo)致第二次測(cè)試無(wú)法連接到slave機(jī)器,此情況需要重啟所有slave機(jī)器。

 
 

 

4、一個(gè)小示例

最后,讓我們用一個(gè)簡(jiǎn)單的例子來(lái)領(lǐng)略Jmeter構(gòu)建性能測(cè)試方案的快捷性:

1.在Test Plan下添加一個(gè)Thread Group并配置好參數(shù)

16.jpg

17.jpg

2.在Thread Group下添加HTTP Request并配置好參數(shù)

20.jpg

 

3.在Thread Group下添加HTTP Header Manager并配置好參數(shù)

21.jpg

22.jpg4.在Thread Group下添加View Results Tree和Summary Report并啟動(dòng)測(cè)試

23.jpg

5.查看View Results Tree中的詳細(xì)信息和Summary Report中的匯總信息

24.jpg

25.jpg

GUI模式通常用來(lái)創(chuàng)建和調(diào)試腳本,正式做性能測(cè)試推薦用命令行來(lái)測(cè)試:jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]

 

【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與CTI論壇無(wú)關(guān)。CTI論壇對(duì)文中陳述、觀點(diǎn)判斷保持中立,不對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請(qǐng)讀者僅作參考,并請(qǐng)自行承擔(dān)全部責(zé)任。

專題

CTI論壇會(huì)員企業(yè)