負(fù)載測(cè)試
1、定義:
負(fù)載測(cè)試是通過逐步增加系統(tǒng)負(fù)載,測(cè)試系統(tǒng)性能的變化,并最終確定在滿足性能指標(biāo)的情況下,系統(tǒng)所能承受的最大負(fù)載量的測(cè)試。
2、目的:
不把系統(tǒng)搞掛的測(cè)試,使系統(tǒng)能夠在最大的壓力下可以正常運(yùn)行。從而獲取系統(tǒng)指標(biāo)。
3、方法:
不斷增加請(qǐng)求壓力,直到服務(wù)器某個(gè)資源項(xiàng)達(dá)到飽和(比如CPU使用率達(dá)到90%+)或某個(gè)指標(biāo)達(dá)到安全臨界值(比如運(yùn)維的監(jiān)控告警閾值or拐點(diǎn))。系統(tǒng)負(fù)載壓力包含并發(fā)用戶數(shù)、持續(xù)運(yùn)行時(shí)間、數(shù)據(jù)量等。其中并發(fā)用戶數(shù)是負(fù)載壓力的重要指標(biāo)。
并發(fā)測(cè)試
1、定義:
1、目的:檢查系統(tǒng)是否有并發(fā)問題,例如內(nèi)存泄漏、線程鎖、資源爭(zhēng)用等問題。
2、方法:確定用戶并發(fā)數(shù),必須知道系統(tǒng)所承載的在線用戶數(shù)。然后在單位時(shí)間內(nèi)(S)同時(shí)發(fā)起一定量的請(qǐng)求。
3、確定并發(fā)用戶數(shù)的方法:
例如:公司OA系統(tǒng)賬號(hào)或者總用戶有2000人;最高峰在線500人;但是這500人并不是作為并發(fā)用戶存在的概念。即并不表示服務(wù)器實(shí)際承載的壓力;有可能40%關(guān)注的是首頁新聞公告板之類(注意看新聞這個(gè)階段是不能造成服務(wù)器的壓力);20%用戶在查詢資料或者操作表格;20%用戶在發(fā)呆;20%在頁面之間跳轉(zhuǎn);在這種情況下,只有真正20%用戶在對(duì)服務(wù)器造成實(shí)質(zhì)的影響。
我們將這個(gè)查詢、操作表格作為一個(gè)業(yè)務(wù)范疇來說;直接將這部分業(yè)務(wù)并發(fā)用戶稱為并發(fā)用戶數(shù):
1.計(jì)算平均并發(fā)用戶數(shù):C=NL/T
2.并發(fā)用戶峰值數(shù):C’ ≈ C+3根號(hào)C
公式(1)中,C是平均的并發(fā)用戶數(shù);n是login session的數(shù)量;L是login session的平均長(zhǎng)度;T指考察的時(shí)間段長(zhǎng)度。
公式(2)則給出了并發(fā)用戶數(shù)峰值的計(jì)算方式中,其中,C’指并發(fā)用戶數(shù)的峰值,C就是公式(1)中得到的平均的并發(fā)用戶數(shù)。該公式的得出是假設(shè)用戶的login session產(chǎn)生符合泊松分布而估算得到的。
假設(shè)有一個(gè)OA系統(tǒng),該系統(tǒng)有3000個(gè)用戶,(可以看注冊(cè)信息)平均每天大約有400個(gè)用戶要訪問該系統(tǒng),(日志文件查看)對(duì)一個(gè)典型用戶來說,一天之內(nèi)用戶從登錄到退出該系統(tǒng)的平均時(shí)間為4小時(shí),在一天的時(shí)間內(nèi),用戶只在8小時(shí)內(nèi)使用該系統(tǒng)。
則根據(jù)公式(1)和公式(2),可以得到:
C = 4004/8 = 200
C’≈200+3根號(hào)200 = 242
但是一般的做法是把每天訪問系統(tǒng)用戶數(shù)的10%作為平均的并發(fā)用戶數(shù)。最大的并發(fā)用戶數(shù)乘上一個(gè)值,2或者3.
假如說用戶要求系統(tǒng)每秒最大可以處理100個(gè)登陸請(qǐng)求,10/25/50/75/100 個(gè)并發(fā)用戶來執(zhí)行登陸操作,然后觀察系統(tǒng)在不同負(fù)載下的響應(yīng)時(shí)間和每秒事務(wù)數(shù)。如果用戶數(shù)在100的時(shí)候,響應(yīng)時(shí)間還在允許范圍呢,就要加大用戶數(shù),例如120 等 。個(gè)人理解這個(gè)用戶數(shù)就是我們經(jīng)常說的等價(jià)類和邊界值法來設(shè)定。
壓力測(cè)試
1、定義:
是給軟件不斷加壓,強(qiáng)制其在極限的情況下運(yùn)行,觀察它可以運(yùn)行到何種程度,從而發(fā)現(xiàn)性能缺陷。
2、目的:
把系統(tǒng)搞掛的測(cè)試。
3、方法:以負(fù)載測(cè)試或者并發(fā)測(cè)試為依據(jù),給軟件不斷加壓,強(qiáng)制其在極限的情況下運(yùn)行,觀察它可以運(yùn)行到何種程度,從而發(fā)現(xiàn)性能缺陷。