• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>
    您當前的位置是:  首頁(yè) > 資訊 > 國內 >
     首頁(yè) > 資訊 > 國內 >

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

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


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

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

       

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

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

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

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

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

     

    1、成本

    費用成本

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

    使用成本

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

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

    1.jpg

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

    2.jpg

    各種好用的函數能讓數據生成更加快捷:

     

    3.jpg廣泛的協(xié)議支持滿(mǎn)足絕大多數性能測試場(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、報表系統

     

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

    報告的基本信息,包括執行時(shí)間、應用性能指數和請求概要信息等:

    4.jpg

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

    5.jpg

    錯誤概要信息,包括錯誤類(lèi)型、錯誤數量、錯誤類(lèi)型占比和錯誤數量百分比等:

    6..jpg

    Top 5錯誤概要信息,包括錯誤請求名、請求數量、top 5錯誤請求類(lèi)型和top 5錯誤請求數量等:

    7.jpg

    整個(gè)測試運行期間的響應時(shí)間圖,包括所有請求的響應時(shí)間圖:

    d727aba0bb8dbcaba0b87bff3fffaabc.jpg

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

    2966e6c6ff32d2066e14663c84fd8ede.jpg

    整個(gè)測試運行期間的活動(dòng)線(xiàn)程數:

    10.jpg

    整個(gè)測試運行期間的吞吐字節數:

    11.jpg

     

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

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

     

    3、軟件擴展性

    Jmeter本身是100%Java實(shí)現,擴展非常方便。可以自己開(kāi)發(fā)各種協(xié)議包、邏輯組件等。

    另外不得不提的就是Jmeter本身的社區支持,plugins manager,目前已有100+插件,且還在不斷快速增加中,插件遍布jmeter的各種組件類(lèi)型,極大的方便了使用者的快速組合出各種性能測試場(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

    橫向擴展性

     

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

    14.jpg

    性能測試過(guò)程啟動(dòng)后,master機器下發(fā)腳本到各slave機,由slave機對目標機器發(fā)起請求,如下圖:

    15.jpg

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

     

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

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

     
     

     

    4、一個(gè)小示例

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

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

    16.jpg

    17.jpg

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

    20.jpg

     

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

    21.jpg

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

    23.jpg

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

    24.jpg

    25.jpg

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

     

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

    專(zhuān)題

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

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 鸡西市| 瑞金市| 汉中市| 萨嘎县| 都匀市| 蓬安县| 普陀区| 安宁市| 衡水市| 治县。| 正定县| 潼南县| 秦安县| 日土县| 栖霞市| 响水县| 安义县| 五大连池市| 广宗县| 交口县| 尖扎县| 安多县| 临澧县| 萝北县| 庄浪县| 鄂伦春自治旗| 温州市| 德钦县| 清水河县| 西峡县| 甘德县| 通渭县| 金山区| 洛阳市| 安岳县| 灵寿县| 彰化县| 安吉县| 顺昌县| 谷城县| 沽源县| http://444 http://444 http://444 http://444 http://444 http://444