[TOC]
性能需求如何決定
1撤蚊、必須指出是基于怎樣的硬件配置
2、必須有明確的數(shù)字
3帜平、合理、有實(shí)際意義梅鹦、有根據(jù)
4裆甩、來(lái)源包括但不限于:
1)客戶決定/開發(fā)決策團(tuán)隊(duì)決定
2)參考?xì)v史項(xiàng)目的數(shù)據(jù)
3)參考競(jìng)爭(zhēng)對(duì)手的性能指標(biāo)
4)參考類似行業(yè)的數(shù)據(jù)
5)參考社會(huì)資訊,如新聞齐唆、市場(chǎng)調(diào)研結(jié)論等
實(shí)際的性能測(cè)試點(diǎn)如何考慮
1嗤栓、性能測(cè)試場(chǎng)景
2、選用適當(dāng)?shù)墓ぞ?br>
3箍邮、來(lái)源于對(duì)真實(shí)情況的調(diào)研茉帅、估計(jì)和猜想
4、抓住系統(tǒng)的核心業(yè)務(wù)作為測(cè)試重點(diǎn)
5锭弊、測(cè)試單種業(yè)務(wù)的情況
6堪澎、考慮每種業(yè)務(wù)中,具體最小味滞、最大負(fù)荷的情況
7樱蛤、考慮多業(yè)務(wù)并行的情況
8、分析系統(tǒng)的架構(gòu)剑鞍、盡量構(gòu)造出對(duì)每個(gè)關(guān)鍵模塊的壓力
常見的性能瓶頸所在
1昨凡、核心業(yè)務(wù)的軟件模塊
2、編程上的不合理攒暇,導(dǎo)致運(yùn)算量過(guò)大土匀,等待時(shí)間過(guò)長(zhǎng),或者系統(tǒng)的交互次數(shù)過(guò)多形用,交互數(shù)據(jù)過(guò)大
3就轧、硬件上的資源(內(nèi)存证杭、內(nèi)存帶寬、磁盤妒御、讀寫帶寬解愤、網(wǎng)絡(luò)帶寬、專有處理器)
4乎莉、架構(gòu)中的單一關(guān)鍵點(diǎn)擁塞
5送讲、軟件上的故意設(shè)置
6、主觀感受的影響
性能測(cè)試的實(shí)際過(guò)程
1惋啃、選擇適當(dāng)?shù)墓ぞ?br>
2哼鬓、選擇適當(dāng)?shù)男阅軠y(cè)試場(chǎng)景
3、構(gòu)建適當(dāng)?shù)幕A(chǔ)數(shù)據(jù)庫(kù)
4边灭、觀測(cè)并記錄系統(tǒng)各部件的狀態(tài)
5异希、保存充分的日志
6、發(fā)現(xiàn)瓶頸->開發(fā)調(diào)優(yōu)->發(fā)現(xiàn)另一個(gè)瓶頸->繼續(xù)調(diào)優(yōu)
性能測(cè)試相關(guān)指標(biāo)
1绒瘦、響應(yīng)時(shí)間:從用戶點(diǎn)擊到用戶得到需要的響應(yīng)內(nèi)容称簿,所經(jīng)過(guò)的時(shí)間
2、并發(fā)用戶數(shù):指同一時(shí)刻與服務(wù)器進(jìn)行數(shù)據(jù)交互的所有用戶數(shù)量
3惰帽、吞吐量:單位時(shí)間內(nèi)系統(tǒng)處理客戶請(qǐng)求的數(shù)量憨降,其直接體現(xiàn)系統(tǒng)的承載能力(作為性能測(cè)試時(shí)主要關(guān)注的一個(gè)指標(biāo))
F=吞吐量
VU=虛擬用戶個(gè)數(shù)
R=每個(gè)虛擬用戶發(fā)出請(qǐng)求(單擊)數(shù)量
T=表示性能測(cè)試所用的時(shí)間
計(jì)算公式:F = VU * R / T
4、吞吐率:單位時(shí)間內(nèi)的數(shù)據(jù)傳輸量该酗,即: 吞吐量/傳輸時(shí)間
單位時(shí)間內(nèi)處理的客戶請(qǐng)求數(shù)授药,吞吐率越大表示系統(tǒng)的負(fù)載能力越強(qiáng)
5、TPS (transaction per second) 每秒事物處理量:每秒系統(tǒng)處理的事物數(shù)垂涯,是衡量系統(tǒng)處理能力的重要指標(biāo)烁焙,在loadrunner中一定要分析的一個(gè)指標(biāo)
TPS = 并發(fā)數(shù)/平均響應(yīng)時(shí)間
6、點(diǎn)擊率:指每秒鐘用戶向web服務(wù)器提交的HTTP的數(shù)量
7耕赘、資源利用率:系統(tǒng)資源被占用的情況骄蝇,主要包括:CPU利用率、內(nèi)存利用率操骡、磁盤利用率九火、網(wǎng)絡(luò)等
8、性能計(jì)數(shù)器:是描述服務(wù)器或操作系統(tǒng)性能的一些數(shù)據(jù)指標(biāo)册招,主要通過(guò)添加計(jì)數(shù)器來(lái)觀察系統(tǒng)資源的使用情況
9岔激、平均并發(fā)用戶數(shù)
C = nL/T
其中
C:平均的并發(fā)用戶數(shù);
n:平均每天訪問(wèn)用戶數(shù)(login session的數(shù)量)是掰;
L:一天內(nèi)用戶從登錄到退出的平均時(shí)間(login session的平均長(zhǎng)度)虑鼎;
T:考察的時(shí)間段長(zhǎng)度(一天內(nèi)多長(zhǎng)時(shí)間有用戶使用系統(tǒng));
在現(xiàn)實(shí)世界里,登陸的用戶是按照以下的方式運(yùn)作的:
1炫彩、沉睡狀態(tài) -- 在非工作時(shí)間不登陸匾七;
2、片刻狀態(tài)(上升) -- 開始工作的時(shí)候江兢,人們開始登錄系統(tǒng)昨忆;在線的數(shù)量不斷增加;
3杉允、穩(wěn)定期 -- 在線的用戶數(shù)保持穩(wěn)定邑贴;
4、片刻狀態(tài)(回落) -- 工作時(shí)間結(jié)束叔磷;人們退出系統(tǒng)拢驾;在線人數(shù)減少;
我們要更精確預(yù)估高峰期并發(fā)用戶數(shù)世澜,應(yīng)該遵循下面的步驟:
1独旷、根據(jù)經(jīng)驗(yàn)來(lái)估計(jì)穩(wěn)定期的時(shí)間段;
2寥裂、估計(jì)在穩(wěn)定期的登錄用戶數(shù);
3案疲、根據(jù)公式計(jì)算平均并發(fā)用戶數(shù)封恰;
4、運(yùn)用公式計(jì)算高峰并發(fā)用戶數(shù)褐啡;
性能測(cè)試劃分
負(fù)載诺舔、壓力測(cè)試主要包括:并發(fā)用戶數(shù)、可持續(xù)運(yùn)行時(shí)間备畦、數(shù)據(jù)大量測(cè)試低飒、疲勞強(qiáng)度測(cè)試
1、負(fù)載測(cè)試:給測(cè)試系統(tǒng)不斷的加壓懂盐,直到超過(guò)預(yù)定的指標(biāo)或者是部分資源已經(jīng)達(dá)到了一種飽和狀態(tài)褥赊,不能再加壓為止
2、壓力測(cè)試:指當(dāng)系統(tǒng)已經(jīng)達(dá)到一定的飽和程度(如CPU莉恼、磁盤等已經(jīng)處于一種飽和狀態(tài))拌喉,系統(tǒng)處理業(yè)務(wù)的能力或系統(tǒng)是否會(huì)出現(xiàn)崩潰等
3、配置測(cè)試:通過(guò)調(diào)整系統(tǒng)軟/硬件環(huán)境俐银,了解在不同環(huán)境下系統(tǒng)性能指標(biāo)的情況尿背,從而找到系統(tǒng)的最優(yōu)配置
4、并發(fā)測(cè)試(concurrence testing):模擬用戶并發(fā)訪問(wèn)捶惜、測(cè)試多用戶同時(shí)訪問(wèn)同一應(yīng)用田藐、模塊或數(shù)據(jù),觀察系統(tǒng)是否存在死鎖、系統(tǒng)處理速度明顯下載等其他的一些性能問(wèn)題
5汽久、可靠性測(cè)試:系統(tǒng)一定壓力下鹤竭,讓系統(tǒng)持續(xù)運(yùn)行一段時(shí)間,看系統(tǒng)是否達(dá)到我們要求的穩(wěn)定性回窘,例:持續(xù)運(yùn)行多少天系統(tǒng)不能出現(xiàn)問(wèn)題
性能測(cè)試應(yīng)用領(lǐng)域
1诺擅、能力驗(yàn)證:某系統(tǒng)能否在條件A下具備B性能,體現(xiàn)某個(gè)條件下具備什么樣的能力
2啡直、規(guī)劃能力:體現(xiàn)在系統(tǒng)如何才能達(dá)到要求的性能指標(biāo)
3烁涌、性能調(diào)優(yōu):通過(guò)測(cè)試來(lái)調(diào)整系統(tǒng)的環(huán)境,最終使系統(tǒng)性能達(dá)到最優(yōu)的狀態(tài)
調(diào)優(yōu)的對(duì)象有數(shù)據(jù)參數(shù)酒觅、應(yīng)用服務(wù)器撮执、系統(tǒng)的硬件資源等
4、發(fā)現(xiàn)缺陷:性能測(cè)試應(yīng)用領(lǐng)域主要目標(biāo)是通過(guò)性能測(cè)試的手段來(lái)發(fā)現(xiàn)系統(tǒng)的缺陷
性能測(cè)試用戶數(shù)不同場(chǎng)景叫法
1舷丹、虛擬用戶數(shù)
2抒钱、登錄用戶數(shù)
3、支持用戶數(shù)
4、在線用戶數(shù)
5得糜、并發(fā)用戶數(shù)