亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于JMeter的Web性能測(cè)試研究

        2021-08-28 02:08:36唐承玲李光平唐春蓬
        電腦與電信 2021年6期
        關(guān)鍵詞:測(cè)試計(jì)劃用戶數(shù)性能指標(biāo)

        唐承玲 王 虎 李光平 唐春蓬

        (汽車噪聲振動(dòng)與安全技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,重慶 401122)

        1 引言

        隨著互聯(lián)網(wǎng)的飛速發(fā)展、計(jì)算機(jī)的普及,Web 應(yīng)用系統(tǒng)已滲透到人們的生活及工作中。隨著網(wǎng)絡(luò)的發(fā)展,用戶對(duì)計(jì)算機(jī)、網(wǎng)絡(luò)的依賴性越來(lái)越大,在使用Web應(yīng)用強(qiáng)大、便捷的功能同時(shí),用戶也更加關(guān)注Web應(yīng)用的良好性能。用戶期望能獲得更快、更高的服務(wù)品質(zhì)。軟件的性能測(cè)試已成為衡量軟件質(zhì)量的重要標(biāo)準(zhǔn)之一。

        性能測(cè)試的價(jià)值就是保障系統(tǒng)的性能,提供良好的用戶體驗(yàn);盡可能地找出系統(tǒng)性能薄弱環(huán)節(jié),幫助進(jìn)行性能優(yōu)化。

        2 JMeter介紹

        Apache JMeter是Apache組織開發(fā)的基于Java的壓力測(cè)試工具,用于對(duì)軟件做壓力測(cè)試。它最初被設(shè)計(jì)用于Web應(yīng)用測(cè)試,后來(lái)擴(kuò)展到其他測(cè)試領(lǐng)域。它可以用于測(cè)試靜態(tài)和動(dòng)態(tài)資源,例如靜態(tài)文件、Java 小服務(wù)程序、CGI 腳本、Java對(duì)象、數(shù)據(jù)庫(kù)、FTP服務(wù)器等等[1]。

        JMeter 的工作原理是通過線程組來(lái)驅(qū)動(dòng)多個(gè)線程運(yùn)行測(cè)試腳本對(duì)被測(cè)服務(wù)器發(fā)起負(fù)載,每一個(gè)負(fù)載機(jī)上都可以運(yùn)行多個(gè)線程組[1]。

        在Web性能測(cè)試中,JMeter軟件被當(dāng)作Web服務(wù)器與瀏覽器之間的一個(gè)代理網(wǎng)管,模擬在服務(wù)器、網(wǎng)絡(luò)或者其他對(duì)象上附加高負(fù)載以測(cè)試他們提供服務(wù)的受壓能力,或者分析他們提供的服務(wù)在不同負(fù)載條件下的總性能情況。

        使用JMeter 進(jìn)行性能測(cè)試具有以下優(yōu)勢(shì):開源免費(fèi),文件小安裝方便,不受軟件界面改動(dòng)的影響,操作簡(jiǎn)單易上手,可進(jìn)行功能定制或擴(kuò)充,不需要關(guān)注對(duì)象是否被識(shí)別的問題,可以通過其自帶的配置元件及其他元件的組合來(lái)處理復(fù)雜的業(yè)務(wù)邏輯,測(cè)試腳本維護(hù)方便[1]。

        3 性能測(cè)試概述

        3.1 性能測(cè)試的目的

        Web性能測(cè)試是指在各種負(fù)載條件下,利用測(cè)試工具模擬運(yùn)行被測(cè)系統(tǒng),以此獲得該系統(tǒng)的各種性能指標(biāo),并對(duì)所得結(jié)果加以分析的一種測(cè)試活動(dòng)。性能測(cè)試的目的主要體現(xiàn)在以下5點(diǎn)[2]:

        (1)驗(yàn)證系統(tǒng)是否達(dá)到用戶預(yù)期的性能目標(biāo)。

        (2)尋找系統(tǒng)的最優(yōu)配置,獲取最小的系統(tǒng)成本。

        (3)挖掘存在的性能缺陷和瓶頸,以此優(yōu)化系統(tǒng)。

        (4)驗(yàn)證系統(tǒng)是否具有穩(wěn)定性、可靠性。

        (5)預(yù)測(cè)未來(lái)性能。當(dāng)用戶數(shù)和業(yè)務(wù)量增加時(shí)能否及時(shí)應(yīng)對(duì)?如何調(diào)整?是增加應(yīng)用服務(wù)器,還是數(shù)據(jù)庫(kù)服務(wù)器,還是要優(yōu)化代碼邏輯?

        3.2 性能測(cè)試的分類

        性能測(cè)試是在軟件可靠性和正確性的基礎(chǔ)上側(cè)重效率方面的驗(yàn)證,是在功能測(cè)試的基礎(chǔ)上測(cè)試軟件在集成系統(tǒng)中的運(yùn)行性能。Web性能測(cè)試一般包含以下6項(xiàng)[2]:

        (1)負(fù)載測(cè)試:通過不斷加壓直到系統(tǒng)性能測(cè)試瓶頸或資源達(dá)到飽和。

        (2)壓力測(cè)試:系統(tǒng)在一定的負(fù)載下長(zhǎng)時(shí)間運(yùn)行的穩(wěn)定性,關(guān)注大業(yè)務(wù)量下系統(tǒng)長(zhǎng)時(shí)間運(yùn)行時(shí)性能的變化,確定在什么負(fù)載條件下,系統(tǒng)性能處于失效狀態(tài)。

        (3)配置測(cè)試:通過對(duì)被測(cè)系統(tǒng)的軟硬件環(huán)境的調(diào)整,找到系統(tǒng)各項(xiàng)資源的最優(yōu)分配原則。

        (4)并發(fā)測(cè)試:模擬多用戶并發(fā)訪問同一應(yīng)用的測(cè)試,記錄是否存在線程鎖、資源爭(zhēng)用、內(nèi)存泄漏等問題。

        (5)容量測(cè)試:運(yùn)行一種或多種業(yè)務(wù)場(chǎng)景在一定虛擬用戶數(shù)量的情況下,獲取不同數(shù)量級(jí)別的性能指標(biāo),從而得到數(shù)據(jù)庫(kù)能夠處理的最大會(huì)話能力、最大容量等。

        (6)可靠性測(cè)試:給系統(tǒng)加載一定的業(yè)務(wù)壓力,讓其持續(xù)運(yùn)行一段時(shí)間,測(cè)試系統(tǒng)是否可以穩(wěn)定運(yùn)行。

        3.3 性能測(cè)試的指標(biāo)

        軟件的性能從不同角度來(lái)看會(huì)有不同的結(jié)果,以下從3個(gè)不同的角度來(lái)看待軟件的性能[3]:

        (1)用戶角度:他們關(guān)心的是應(yīng)用程序的單步響應(yīng)時(shí)間,也就是數(shù)據(jù)流經(jīng)過服務(wù)器/服務(wù)器集群經(jīng)過網(wǎng)絡(luò)傳輸后往返的時(shí)間總和。例如當(dāng)用戶點(diǎn)擊“查詢”按鈕后多長(zhǎng)時(shí)間能獲得結(jié)果。

        (2)軟件開發(fā)者的角度:他們關(guān)注的是功能的代碼實(shí)現(xiàn),數(shù)據(jù)庫(kù)的設(shè)計(jì),框架設(shè)計(jì)是否合理,系統(tǒng)里內(nèi)存的使用方法是否合理,線程使用方式是否合理,系統(tǒng)資源是否存在不合理競(jìng)爭(zhēng)。

        (3)運(yùn)維人員的角度:他們關(guān)注的是系統(tǒng)所有服務(wù)器是否正常運(yùn)行,數(shù)據(jù)庫(kù)、中間件等服務(wù)器的硬件資源利用率情況,內(nèi)存是否有可用空間,CPU 是否超過70%,網(wǎng)絡(luò)是否順暢,I/O是否存在瓶頸。

        體現(xiàn)軟件性能的數(shù)據(jù)我們稱之為性能指標(biāo)[4],常見的Web性能指標(biāo)如下:

        (1)響應(yīng)時(shí)間:用戶從客戶端發(fā)出請(qǐng)求,并得到響應(yīng),以及展示出來(lái)的整個(gè)過程的時(shí)間。

        (2)吞吐量:每秒鐘系統(tǒng)能夠處理的請(qǐng)求數(shù)/事務(wù)數(shù)。

        (3)資源利用率:系統(tǒng)中不同資源的使用程度,如CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)帶寬等。

        (4)并發(fā)用戶數(shù):系統(tǒng)能同時(shí)處理的請(qǐng)求數(shù)/事務(wù)數(shù)。

        (5)錯(cuò)誤率:一段時(shí)間內(nèi)出錯(cuò)的請(qǐng)求在總請(qǐng)求數(shù)中的占比。

        (6)平均傳輸帶寬:計(jì)算服務(wù)端的數(shù)據(jù)傳輸量。

        3.4 性能測(cè)試的流程

        性能測(cè)試實(shí)施流程能夠加強(qiáng)測(cè)試工作的控制,明確測(cè)試各階段應(yīng)完成的工作,主要流程如下:

        (1)性能測(cè)試準(zhǔn)備工作:組建團(tuán)隊(duì),需求調(diào)研,選擇工具。

        (2)性能測(cè)試計(jì)劃:分析測(cè)試背景、用戶場(chǎng)景,確定性能指標(biāo),制定性能測(cè)試實(shí)施計(jì)劃。

        (3)性能測(cè)試設(shè)計(jì):測(cè)試環(huán)境設(shè)計(jì),測(cè)試場(chǎng)景設(shè)計(jì),測(cè)試用例設(shè)計(jì),編寫或錄制測(cè)試腳本。

        (4)性能測(cè)試執(zhí)行:部署測(cè)試環(huán)境,執(zhí)行測(cè)試腳本,性能監(jiān)控和記錄。

        (5)性能測(cè)試報(bào)告:根據(jù)執(zhí)行結(jié)果,整理編寫性能測(cè)試報(bào)告。

        (6)性能測(cè)試總結(jié):根據(jù)執(zhí)行結(jié)果對(duì)比性能指標(biāo),分析并統(tǒng)計(jì)系統(tǒng)的性能瓶頸,給出系統(tǒng)調(diào)優(yōu)建議。

        4 JMeter性能測(cè)試實(shí)例

        4.1 測(cè)試分析

        文章以某個(gè)項(xiàng)目管理系統(tǒng)為例,該項(xiàng)目管理系統(tǒng)主要包括項(xiàng)目管理、協(xié)議管理、市場(chǎng)拓展、維修改造、接管項(xiàng)目五個(gè)模塊。其中項(xiàng)目信息填報(bào)列表的查詢是最為重要的,使用頻率最高,因此以查詢項(xiàng)目信息填報(bào)列表接口為例使用JMeter軟件進(jìn)行Web性能測(cè)試。系統(tǒng)頁(yè)面如圖1所示。

        圖1 項(xiàng)目管理系統(tǒng)

        4.2 準(zhǔn)備性能測(cè)試腳本及環(huán)境

        (1)小組準(zhǔn)備3個(gè)人參加,與項(xiàng)目經(jīng)理、產(chǎn)品經(jīng)理一起對(duì)需求進(jìn)行調(diào)研。

        (2)搭建測(cè)試環(huán)境,將此系統(tǒng)安裝到與線上環(huán)境相似的測(cè)試環(huán)境服務(wù)器上。

        (3)準(zhǔn)備數(shù)據(jù),新增10萬(wàn)條項(xiàng)目管理填報(bào)數(shù)據(jù)。

        (4)根據(jù)接口文檔詳細(xì)信息,打開JMeter工具,將服務(wù)器地址、端口號(hào)、路徑等參數(shù)填入HTTP請(qǐng)求中。

        (5)添加監(jiān)聽器來(lái)記錄測(cè)試結(jié)果,在線程組或HTTP請(qǐng)求下添加“察看結(jié)果樹”“聚合報(bào)告”“響應(yīng)時(shí)間圖”“圖形結(jié)果”“PerfMon Metrics Collector”。在“PerfMon Metrics Collector”界面上添加需要監(jiān)控的服務(wù)器對(duì)應(yīng)的CPU、Memory、Disks I/O。對(duì)腳本所做的設(shè)置如圖2所示。

        圖2 腳本設(shè)置

        4.3 制定測(cè)試系統(tǒng)性能指標(biāo)

        根據(jù)項(xiàng)目管理系統(tǒng)的需求,首先并發(fā)用戶數(shù)從100開始,逐漸增加100,最大并發(fā)用戶數(shù)為500,制定性能指標(biāo)如表1所示。

        表1 測(cè)試系統(tǒng)性能指標(biāo)

        4.4 制定性能測(cè)試計(jì)劃

        在腳本中線程組界面,對(duì)屬性“線程數(shù)”“Ramp-Up Period(in seconds)”“循環(huán)次數(shù)”“調(diào)度器配置”設(shè)置不同的屬性值,可實(shí)現(xiàn)系統(tǒng)在不同負(fù)載下的性能測(cè)試。結(jié)合本實(shí)例系統(tǒng)的性能指標(biāo),計(jì)劃如表2所示。

        表2 性能測(cè)試計(jì)劃

        4.5 分析性能測(cè)試執(zhí)行結(jié)果

        根據(jù)測(cè)試計(jì)劃,運(yùn)行腳本,可看到測(cè)試結(jié)果如表3所示。

        表3 性能測(cè)試結(jié)果

        測(cè)試執(zhí)行時(shí)監(jiān)控的資源利用率結(jié)果如圖3-圖7所示。

        圖3 測(cè)試計(jì)劃1的資源利用率結(jié)果

        圖4 測(cè)試計(jì)劃2的資源利用率結(jié)果

        圖5 測(cè)試計(jì)劃3的資源利用率結(jié)果

        圖6 測(cè)試計(jì)劃4的資源利用率結(jié)果

        圖7 測(cè)試計(jì)劃5的資源利用率結(jié)果

        對(duì)上述測(cè)試結(jié)果,分析如下:

        (1)當(dāng)并發(fā)用戶數(shù)為100 時(shí),平均響應(yīng)時(shí)間是0.502 秒,CPU 使用率比較低,平均值在36%左右,內(nèi)存使用率保持平穩(wěn),平均在43%左右,磁盤讀寫速度正常,系統(tǒng)各項(xiàng)結(jié)果數(shù)據(jù)都滿足性能指標(biāo)。

        (2)當(dāng)并發(fā)用戶數(shù)為200 時(shí),平均響應(yīng)時(shí)間是0.692 秒,CPU 使用率最高是54%,平均值在30%左右,內(nèi)存使用率保持平穩(wěn),平均在40%左右,磁盤讀寫速度正常,系統(tǒng)各項(xiàng)結(jié)果數(shù)據(jù)都滿足性能指標(biāo)。

        (3)當(dāng)并發(fā)用戶數(shù)為300 時(shí),平均響應(yīng)時(shí)間是1.345 秒,CPU使用率有些波動(dòng),最高是69%,平均值在40%左右,內(nèi)存使用率保持平穩(wěn),平均在40%左右,磁盤讀寫速度正常,系統(tǒng)各項(xiàng)結(jié)果數(shù)據(jù)都滿足性能指標(biāo)。

        (4)當(dāng)并發(fā)用戶數(shù)為400時(shí),平均響應(yīng)時(shí)間是2.597滿足指標(biāo),CPU 使用率有些波動(dòng),最高是91%,平均值在43%左右,內(nèi)存使用率保持平穩(wěn),平均在35%左右,磁盤讀寫速度正常,最長(zhǎng)響應(yīng)時(shí)間、吞吐量、CPU使用率均未滿足性能指標(biāo)。

        (5)當(dāng)并發(fā)用戶數(shù)為500時(shí),平均響應(yīng)時(shí)間是5.06,對(duì)服務(wù)器的CPU消耗比較大,小部分時(shí)間使用率達(dá)到了100%,部分時(shí)間磁盤讀寫速度比較快。系統(tǒng)各項(xiàng)結(jié)果數(shù)據(jù)都未滿足性能指標(biāo)。

        對(duì)上述測(cè)試結(jié)果做出風(fēng)險(xiǎn)判斷和建議如下:

        風(fēng)險(xiǎn)一:在查詢時(shí),篩選條件同時(shí)具備了分區(qū)和索引性質(zhì),查詢語(yǔ)句只走了分區(qū),沒有走索引。

        建議:采用全局索引。

        風(fēng)險(xiǎn)二:當(dāng)并發(fā)用戶數(shù)為500時(shí),會(huì)大量報(bào)錯(cuò),查看日志顯示外部通信異常。

        建議:建立管理線程池,支持大量并發(fā),避免線程異常拒絕。

        風(fēng)險(xiǎn)三:當(dāng)并發(fā)用戶數(shù)>=400時(shí),對(duì)服務(wù)器的CPU消耗比較大,可能會(huì)造成服務(wù)器宕機(jī)。

        建議:對(duì)線程隊(duì)列做限制,不能無(wú)限制地消耗服務(wù)器資源。

        5 結(jié)語(yǔ)

        Web性能測(cè)試是系統(tǒng)開發(fā)的重要環(huán)節(jié),它能保障系統(tǒng)性能,給用戶提供良好體驗(yàn)。文章以某項(xiàng)目管理系統(tǒng)為例,給出了基于JMeter測(cè)試工具的性能測(cè)試方案,根據(jù)測(cè)試需求制定了性能指標(biāo),根據(jù)測(cè)試計(jì)劃設(shè)置了不同場(chǎng)景下的性能測(cè)試,根據(jù)測(cè)試的執(zhí)行結(jié)果,分析了該項(xiàng)目管理系統(tǒng)的性能瓶頸,給出了風(fēng)險(xiǎn)判斷及優(yōu)化策略。

        猜你喜歡
        測(cè)試計(jì)劃用戶數(shù)性能指標(biāo)
        基于改進(jìn)V模型的軟件測(cè)試過程研究
        瀝青膠結(jié)料基本高溫性能指標(biāo)相關(guān)性研究
        石油瀝青(2021年1期)2021-04-13 01:31:08
        嵌入式軟件單元測(cè)試方法研究
        軟件工程(2019年8期)2019-09-04 10:00:46
        儲(chǔ)熱水箱分層性能指標(biāo)的研究進(jìn)展
        WebGIS關(guān)鍵性能指標(biāo)測(cè)試技術(shù)研究
        基于VBS實(shí)現(xiàn)BRAS在線用戶數(shù)的自動(dòng)提取
        磁共振成像儀主磁場(chǎng)計(jì)量性能指標(biāo)的選擇
        2016年6月電話用戶分省情況
        2013年12月電話用戶分省情況
        2013年4月電話用戶分省情況
        国产精品婷婷久久爽一下| 丰满岳乱妇一区二区三区| 无码人妻一区二区三区兔费| 亚洲精品aa片在线观看国产| 国产精品99精品一区二区三区∴| 在线视频日韩精品三区| 蜜桃一区二区三区视频网址| 国产亚洲日韩在线一区二区三区| 久久精品国产亚洲一区二区| 国产伦精品一区二区三区四区| 国产视频一区二区三区在线看| 日韩一本之道一区中文字幕| 亚洲悠悠色综合中文字幕| 丰满少妇三级全黄| 国产一及毛片| 国产黄色看三级三级三级| av高清在线不卡直播| 大肉大捧一进一出视频出来呀| 国产在线观看黄| 亚洲日本在线中文字幕| 精品亚洲国产亚洲国产| 天堂8在线新版官网| 日韩内射美女人妻一区二区三区| 99亚洲乱人伦精品| 青青草手机免费播放视频| 中国杭州少妇xxxx做受| 97精品人妻一区二区三区香蕉| 国产成人精品免费视频大全| 国产性感午夜天堂av| 97日日碰曰曰摸日日澡| 99久久精品自在自看国产| 一区二区三区精品偷拍av| 少妇人妻无奈的跪趴翘起| 久久99国产综合精品| 国产成人无码aⅴ片在线观看| 亚洲av成人一区二区三区色| 在线观看一区二区蜜桃| 宅男66lu国产在线观看| 免费可以在线看A∨网站| 中文字幕人妻少妇精品| 扒开美女内裤舔出白水|