溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

性能測試工具如何構(gòu)建虛擬用戶自身請求的并發(fā)模型

發(fā)布時間:2020-08-14 18:23:12 來源:ITPUB博客 閱讀:153 作者:SagacitySea 欄目:移動開發(fā)

 在對于WEB系統(tǒng)進(jìn)行性能測試時,第一時間想到的是測試出WEB系統(tǒng)能夠承受的最大并發(fā)虛擬用戶(VU)用戶數(shù),因為系統(tǒng)的最大VU并發(fā)數(shù)可以直接反應(yīng)系統(tǒng)的承載能力。但是人們往往忽略了VU的并發(fā)模型。什么是VU的并發(fā)模型呢?如下圖所示,我們使用瀏覽器訪問一個頁面,瀏覽器會有多個HTTP請求發(fā)向服務(wù)端,這些請求有串行的也有并行的(water中有時間重疊的請求屬于并行請求。串行請求是指:前一請求結(jié)束,后一請求才下發(fā)請求)。如果性能測試工具提供WEB錄制功能并能按照瀏覽器的行為模型模擬VU行為,那是最好的了(如果你使用Jmeter或LoadRunner 11那么工具是無法做到的,詳見:《 性能測試工具Jmeter你所不知道的內(nèi)幕》、《 性能測試工具LoadRunner你所不知道的內(nèi)幕》)。截止目前我了解到的性能測試工具:kylinTOP可以實現(xiàn)(Jmeter,CPTS(華為),PTS(阿里)均無法實現(xiàn)),但本文并是不討論如何使用kylinTOP來錄制腳本并模擬瀏覽器的行為,而是如何利用kylinTOP手工構(gòu)建這樣的場景。為什么要手工構(gòu)建呢,主要是有些web系統(tǒng)對外提供的服務(wù)不是WEB頁面,而是HTTP接口功能,對這種場景就需要我們手工來構(gòu)建。

性能測試工具如何構(gòu)建虛擬用戶自身請求的并發(fā)模型cdn.xitu.io/2020/4/5/1714afa6b17fffd1">

如果被測試系統(tǒng)是一個WEB服務(wù)系統(tǒng),對外提供的HTTP接口不是WEB頁面,而是HTTP接口功能。對于這種系統(tǒng)我們應(yīng)當(dāng)怎樣測試性能呢?要想測試出它能承受的最大并發(fā)VU數(shù),首先要分析其VU的請求模型。假定VU的請求模型如下所示:

VU請求模型描述:已知一個WEB系統(tǒng)對上層用戶提供A、B、C、D、E、F、G、H、I共9個接口請求。上層用戶使用這9個請求的約束要求是A、B是串行下發(fā),C、D、E、F四個請求并行下發(fā),G、H、I是串行下發(fā)。按照如下的瀑布圖形下發(fā)請求:

性能測試工具如何構(gòu)建虛擬用戶自身請求的并發(fā)模型

一個上層用戶對WEB系統(tǒng)來說就是一個VU,那么如何手工構(gòu)建這樣的請求模型呢?

步驟1:新建腳本

性能測試工具如何構(gòu)建虛擬用戶自身請求的并發(fā)模型

步驟2:創(chuàng)建請求節(jié)點和描述節(jié)點

          通過“增加”按鈕添加HTTP請求節(jié)點和描述節(jié)點。同時把要并發(fā)的請求移動到描述節(jié)點下面(作為描述節(jié)點的子節(jié)點,同時描述節(jié)點名稱輸入:start_concurrent)

            說明:kylinTOP手工添加的HTTP請求節(jié)節(jié)點默認(rèn)是串行的,“描述節(jié)點”的子節(jié)點處理為并發(fā)請求(描述節(jié)點的名稱必須是:start_concurrent,否則當(dāng)作串行處理)。

性能測試工具如何構(gòu)建虛擬用戶自身請求的并發(fā)模型

步驟3:腳本屬性修改

      設(shè)置腳本的“高級設(shè)置-虛擬用戶“,屬性值選擇下圖標(biāo)志中的任意一個。

性能測試工具如何構(gòu)建虛擬用戶自身請求的并發(fā)模型

步驟4:調(diào)試腳本

   點擊調(diào)試按鈕,生成如下所示VU瀑布圖。該瀑布圖中:CDEF四個是并發(fā)請求,其余是串行請求,與場景要求一致。

性能測試工具如何構(gòu)建虛擬用戶自身請求的并發(fā)模型

         說到這里,腳本運行的瀑布圖與場景要求已經(jīng)完全一致。后續(xù)使用該腳本新建測試任務(wù)運行即可測試獲得系統(tǒng)可承受的最大VU數(shù)。如果使用Jmeter,PTS等其它性能測試工具測試,VU的HTTP請求模型將是一個線性請求(串行請求),無法生成上述場景描述要求腳本,測試結(jié)果也是非常不準(zhǔn)確的。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI