產(chǎn)品體驗(yàn)中心 下載與支持 產(chǎn)品社區(qū) 澤眾云   合作代理 |  咨詢(xún)電話(huà):400-035-7887/021-6072 5088

壓力測(cè)試與過(guò)程分析

發(fā)布時(shí)間:2020-09-24

壓力測(cè)試,也叫做性能測(cè)試,中文好像不太區(qū)分。負(fù)載測(cè)試,更多的是測(cè)試系統(tǒng)在長(zhǎng)時(shí)間比較大的壓力下的健康狀況。
 
當(dāng)一個(gè)應(yīng)用系統(tǒng)需求被提出,就需要確定性能需求,即:需要給多少人同時(shí)來(lái)使用,就是多少人可以同時(shí)在線(xiàn);平均響應(yīng)時(shí)間有多長(zhǎng);每秒通過(guò)的交易(transaction)個(gè)數(shù)有多少;需要的網(wǎng)絡(luò)帶寬有多大等等。
 
系統(tǒng)設(shè)計(jì),就需要遵循性能需求,進(jìn)行性能架構(gòu)設(shè)計(jì)。比如,是否使用集群、雙機(jī)熱備、N+1等模式。當(dāng)然,隨著兩地三中心的模式,也需要充分考慮到性能需求和性能架構(gòu)設(shè)計(jì)的要求。
 
決定性能的要素,包括了:性能需求、性能架構(gòu)與設(shè)計(jì)、代碼實(shí)現(xiàn)幾個(gè)部分。
 
性能架構(gòu),很多系統(tǒng)都是分成不同的層,以及不同的業(yè)務(wù)組件來(lái)實(shí)現(xiàn)具體的應(yīng)用,一般而言包括了交易處理層、業(yè)務(wù)組件層、數(shù)據(jù)庫(kù)服務(wù)層三個(gè)大的部分。當(dāng)系統(tǒng)的性能出現(xiàn)問(wèn)題,我們就需要知道,
 
壓力測(cè)試
 
上圖是一個(gè)比較簡(jiǎn)單的架構(gòu)。當(dāng)系統(tǒng)的性能達(dá)不到要求,我們就要分析問(wèn)題出在哪一層上。分析在哪一層,最簡(jiǎn)單的方法,就是分析業(yè)務(wù)流量路徑圖:
 
壓力測(cè)試
 
根據(jù)業(yè)務(wù)流量的路徑,對(duì)每個(gè)層進(jìn)行性能數(shù)據(jù)監(jiān)控,得到每個(gè)模塊被調(diào)用的次數(shù),以及響應(yīng)時(shí)間的數(shù)據(jù),從而分析獲得性能瓶頸。
 
隨著業(yè)務(wù)的復(fù)雜度提升,系統(tǒng)架構(gòu)也日益復(fù)雜,出現(xiàn)了微服務(wù)或者很多跨系統(tǒng)的業(yè)務(wù)場(chǎng)景:
 
壓力測(cè)試
 
如上圖,就需要對(duì)外系統(tǒng)或者調(diào)用外系統(tǒng)的接口服務(wù)進(jìn)行監(jiān)控,獲得監(jiān)控?cái)?shù)據(jù)。
 
獲得監(jiān)控?cái)?shù)據(jù)之后,就需要對(duì)可疑的數(shù)據(jù)進(jìn)行分析。什么是可疑的數(shù)據(jù)?就是按照正常的情況,不應(yīng)該出現(xiàn)的性能曲線(xiàn),比如數(shù)據(jù)庫(kù)sql語(yǔ)句執(zhí)行突然緩慢(隨著數(shù)據(jù)量的增加),交易響應(yīng)時(shí)間突然變長(zhǎng),但是cpu卻沒(méi)有大幅度增加等等。
 
壓力測(cè)試
 
如上圖,是TPS隨時(shí)間變化的趨勢(shì)圖。隨著時(shí)間的變化,客戶(hù)端發(fā)起的壓力逐步上升,當(dāng)上升到一等幅度之后,突然開(kāi)始震動(dòng)和下降,出現(xiàn)了性能瓶頸。
 
最后,我們來(lái)說(shuō)一下加壓。加壓就是模仿客戶(hù)端,生成持續(xù)的交易請(qǐng)求,向系統(tǒng)加壓。
 
壓力測(cè)試
 
如上圖,我們采用PerformanceRunne性能測(cè)試工具r的架構(gòu)圖,來(lái)展示如何產(chǎn)生壓力:
PR的節(jié)點(diǎn)管理器,負(fù)責(zé)管理多個(gè)虛擬機(jī)或者實(shí)體機(jī),在實(shí)體機(jī)上會(huì)通過(guò)多進(jìn)程和多線(xiàn)程來(lái)模擬用戶(hù)請(qǐng)求。
模擬用戶(hù)請(qǐng)求的方式是采用測(cè)試腳本來(lái)模擬發(fā)起報(bào)文和接收響應(yīng)報(bào)文:
 
壓力測(cè)試
 
簡(jiǎn)單的協(xié)議,比如http、https、socket等,可以通過(guò)錄制來(lái)獲得測(cè)試腳本,對(duì)于復(fù)雜的協(xié)議或者通訊中間件,比如MQ、tuxedo、cics等,就無(wú)法通過(guò)錄制來(lái)獲得,就需要手工編寫(xiě)測(cè)試腳本。
 
腳本編寫(xiě)完成,我們需要對(duì)腳本進(jìn)行參數(shù)化,以實(shí)現(xiàn)加壓的時(shí)候,產(chǎn)生壓力的數(shù)據(jù)是不同的,從而模擬更真實(shí)的應(yīng)用場(chǎng)景:
 
壓力測(cè)試
 
針對(duì)具體的統(tǒng)計(jì)口徑和業(yè)務(wù)相關(guān)性,例如:當(dāng)我們通過(guò)瀏覽器頁(yè)面登錄到一個(gè)系統(tǒng),一般而言,登錄是一個(gè)服務(wù),登錄完成之后,會(huì)請(qǐng)求用戶(hù)桌面上的各個(gè)數(shù)據(jù),或者儀表盤(pán)信息,是另外的請(qǐng)求。在產(chǎn)生壓力和統(tǒng)計(jì)的時(shí)候,我們需要把這兩個(gè)或者多個(gè),組合在一起,變成一個(gè)交易(transaction),tps的數(shù)據(jù)也是統(tǒng)計(jì)交易的數(shù)據(jù),這樣避免了編寫(xiě)的測(cè)試腳本和真實(shí)的壓力效果不同,如下圖:
 
壓力測(cè)試
 
性能測(cè)試腳本創(chuàng)建完成,我們就可以根據(jù)具體的業(yè)務(wù)場(chǎng)景來(lái)加壓了。一個(gè)業(yè)務(wù)場(chǎng)景,可以對(duì)應(yīng)一個(gè)或者多個(gè)測(cè)試腳本。
壓力產(chǎn)生策略。我們可以選擇逐步梯度增加并發(fā)個(gè)數(shù)(VU虛擬用戶(hù)),來(lái)逐步產(chǎn)生壓力,發(fā)現(xiàn)加壓到某個(gè)壓力的時(shí)候,會(huì)出現(xiàn)性能瓶頸。
性能測(cè)試工具,對(duì)各個(gè)節(jié)點(diǎn)進(jìn)行監(jiān)控,產(chǎn)生性能監(jiān)控?cái)?shù)據(jù):
 
壓力測(cè)試
 
壓力測(cè)試
 
推薦閱讀:
 
本文內(nèi)容不用于商業(yè)目的,如涉及知識(shí)產(chǎn)權(quán)問(wèn)題,請(qǐng)權(quán)利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。
滬ICP備07036474號(hào) 2003-2024 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
微信
咨詢(xún)

添加客服微信 歡迎咨詢(xún)測(cè)試工具和測(cè)試服務(wù)

微信客服
問(wèn)題
反饋
產(chǎn)品
畫(huà)冊(cè)

掃描二維碼下載澤眾軟件企業(yè)宣傳冊(cè)

產(chǎn)品畫(huà)冊(cè)
返回
頂部

方案咨詢(xún)

×
提交信息

電話(huà)咨詢(xún),400-035-7887,安排專(zhuān)業(yè)技術(shù)售前給您解答(產(chǎn)品試用、技術(shù)交流、服務(wù)咨詢(xún)和商務(wù)報(bào)價(jià))。

您的信息已成功提交!

我們的客服人員稍后會(huì)與您聯(lián)系