什么時(shí)候開展性能檢測(cè)?性能檢測(cè)的目的是什么?
日期:2022-03-25 15:14:58 瀏覽量:1266 標(biāo)簽: 性能檢測(cè)
性能檢測(cè)的基本原則是:越早發(fā)現(xiàn)問題,越容易定位問題,也越容易修復(fù)問題。因此,性能檢測(cè)可以貫穿軟件研發(fā)生命周期的各個(gè)階段,比如:?jiǎn)卧獪y(cè)試可以測(cè)試多線程并發(fā)下的功能準(zhǔn)確性,每個(gè) API 也都需要進(jìn)行性能檢測(cè)和評(píng)估,集成測(cè)試時(shí)需要顧及所用模塊的數(shù)據(jù)大小及緩存使用情況,系統(tǒng)測(cè)試中也需要從用戶負(fù)載的角度衡量相關(guān)的全局性能指標(biāo)等等。那么,什么時(shí)候開展性能檢測(cè)?性能檢測(cè)的目的是什么?
1、性能檢測(cè)什么時(shí)候進(jìn)行?
性能檢測(cè)是基于系統(tǒng)的功能已經(jīng)完成或者趨于完成的事實(shí),如果功能不夠完整就沒有多大意義。因?yàn)楹笃诘墓δ芨倪M(jìn)會(huì)影響系統(tǒng)的性能,過早進(jìn)入性能檢測(cè)會(huì)導(dǎo)致測(cè)試結(jié)果不準(zhǔn)確,浪費(fèi)測(cè)試資源。因此,性能檢測(cè)首先是基于功能測(cè)試的,性能檢測(cè)只有在知道其功能需求后才能進(jìn)行。
2、如何進(jìn)行性能檢測(cè)?
一個(gè)正在測(cè)試的系統(tǒng),我們需要分三個(gè)部分進(jìn)行分析:
入口:如何發(fā)送請(qǐng)求,施壓方應(yīng)該施加多大壓力,如何施加壓力;
被測(cè)系統(tǒng):系統(tǒng)如何響應(yīng)單個(gè)請(qǐng)求,系統(tǒng)業(yè)務(wù)流程如何,系統(tǒng)網(wǎng)元節(jié)點(diǎn),數(shù)據(jù)流等。整體績(jī)效要求是否存在,哪些指標(biāo)需要檢查,如何監(jiān)控;
導(dǎo)出:接收到什么數(shù)據(jù),如何獲取和比較;
感覺和功能測(cè)試沒太大區(qū)別嗎?是的,就是分析單個(gè)用戶的功能流程和系統(tǒng)的數(shù)據(jù)流結(jié)構(gòu)圖(包括后臺(tái)的數(shù)據(jù)流),然后考慮大量的用戶操作。
系統(tǒng)的一般性能檢測(cè)步驟如下:
1.確認(rèn)測(cè)試目標(biāo);
2.分析測(cè)試系統(tǒng)的業(yè)務(wù)需求;
3.分析被測(cè)系統(tǒng)的系統(tǒng)結(jié)構(gòu);
4.分析被測(cè)系統(tǒng)的性能檢測(cè)點(diǎn);
5.設(shè)計(jì)測(cè)試方案、測(cè)試方案和測(cè)試用例;
6.選擇測(cè)試工具;
7.測(cè)試和開發(fā);
8.測(cè)試執(zhí)行;
9.測(cè)試結(jié)果分析;
10.測(cè)試調(diào)優(yōu)、測(cè)試驗(yàn)證和測(cè)試分析;
11.輸出測(cè)試報(bào)告;
性能測(cè)試在不同情況下是有著不同的目的,清楚每次性能測(cè)試的目標(biāo),能夠讓我們?cè)陂_展性能測(cè)試的時(shí)候更有針對(duì)性。
性能測(cè)試的目的
1、獲取正常請(qǐng)求流量下,系統(tǒng)的各個(gè)性能指標(biāo):
這是最常見的性能測(cè)試目的,常規(guī)性能測(cè)試通常都有這個(gè)需求。在正常壓力(無壓力)流量下對(duì)系統(tǒng)進(jìn)行性能測(cè)試,建立一個(gè)可度量的參考標(biāo)準(zhǔn),為其他測(cè)試場(chǎng)景或者調(diào)優(yōu)過程提供對(duì)比參考。
常用的性能測(cè)試指標(biāo)包括:
服務(wù)響應(yīng)相關(guān)的:平均響應(yīng)時(shí)間,響應(yīng)時(shí)間分布情況,失敗率等
資源使用相關(guān):CPU使用,內(nèi)存,磁盤IO,網(wǎng)絡(luò)IO等
2、獲取系統(tǒng)能夠承載的極限容量,以及獲得系統(tǒng)的性能瓶頸:
系統(tǒng)容量評(píng)估因?yàn)楸容^難自動(dòng)化,所以通常這類需求頻率會(huì)低一些,可能會(huì)周期性評(píng)估。通過“拐點(diǎn)法”進(jìn)行性能測(cè)試,逐步增大系統(tǒng)的壓力,直到性能指標(biāo)不可接受或者出現(xiàn)了明顯的拐點(diǎn),從而找到系統(tǒng)的瓶頸點(diǎn)。需要注意的是,壓測(cè)時(shí)的極限并發(fā)或者極限每秒處理請(qǐng)求數(shù),一定是以在安全運(yùn)維的性能標(biāo)準(zhǔn)下為前提。
3、測(cè)試系統(tǒng)穩(wěn)定性:
系統(tǒng)穩(wěn)定性壓測(cè)是要知道在各種情況下系統(tǒng)能否穩(wěn)定運(yùn)行。
造成系統(tǒng)不穩(wěn)定的情況有:
極限的每秒請(qǐng)求數(shù)
極限的并發(fā)數(shù)或連接數(shù)
突發(fā)流量高峰
長(zhǎng)時(shí)間的壓力流量
熱點(diǎn)數(shù)據(jù)請(qǐng)求
差網(wǎng)絡(luò)環(huán)境
下游模塊慢返回、超時(shí)或故障假死等
4、性能測(cè)試輔助系統(tǒng)參數(shù)調(diào)整:
需要配合研發(fā),測(cè)試在不同系統(tǒng)參數(shù)或者部署方案下,系統(tǒng)性能情況的對(duì)比。
5、系統(tǒng)性能回歸:
在版本升級(jí)時(shí),通常需要對(duì)比新老版本的性能情況。
經(jīng)過反復(fù)大量的性能檢測(cè)后,才能保證在任何環(huán)境下,都能讓用戶有較好的產(chǎn)品體驗(yàn)。保證產(chǎn)品符合性能通能,讓用戶有較好的體驗(yàn),這是性能的最終目的。