作為性能測(cè)試基礎(chǔ)篇最后一節(jié)航夺,今天不聊別的媳叨,主要看下性能測(cè)試常用的策略有哪些腥光,有哪些是你已經(jīng)在工作中運(yùn)用到了的。
常用性能測(cè)試策略:
1糊秆、基準(zhǔn)測(cè)試
單用戶(hù)測(cè)試武福,目的是為其他測(cè)試提供參考依據(jù);
建議單用戶(hù)循環(huán)多次得到的數(shù)據(jù)痘番,避免單獨(dú)請(qǐng)求一次的結(jié)果(這有偶然性)
2艘儒、并發(fā)測(cè)試
模擬客戶(hù)端請(qǐng)求,在單位時(shí)間內(nèi)(S)同時(shí)發(fā)起一定量的請(qǐng)求夫偶,驗(yàn)證系統(tǒng)是否具有并發(fā)性的問(wèn)題。
3觉增、負(fù)載測(cè)試
不斷增加請(qǐng)求壓力兵拢,直到服務(wù)器某個(gè)資源項(xiàng)達(dá)到飽和(比如CPU使用率達(dá)到90%+)或某個(gè)指標(biāo)達(dá)到安全臨界值(比如運(yùn)維的監(jiān)控告警閾值or拐點(diǎn));
負(fù)載測(cè)試(也叫階梯式壓測(cè))一般主要用來(lái)尋找性能的拐點(diǎn)逾礁,驗(yàn)證系統(tǒng)在既有測(cè)試環(huán)境不同的請(qǐng)求壓力下能否正常運(yùn)行说铃。
4、容量測(cè)試
采用負(fù)載測(cè)試策略嘹履,驗(yàn)證在現(xiàn)有測(cè)試環(huán)境下被測(cè)系統(tǒng)的最大性能表現(xiàn)(可接受的最大性能表現(xiàn)腻扇,不一定是最優(yōu)性能表現(xiàn))。
5砾嫉、極限測(cè)試
在既有測(cè)試環(huán)境下幼苛,不考慮資源占用率的極限情況(CPU使用率達(dá)到95%以上或IO異常繁忙或Load值較高),在系統(tǒng)不宕機(jī)的情況下的最大處理能力焕刮。
PS:由于被測(cè)系統(tǒng)的業(yè)務(wù)場(chǎng)景各不相同舶沿,這種策略墙杯,采用率相對(duì)較少。
6括荡、配置測(cè)試
不斷調(diào)整系統(tǒng)各方面的配置(軟硬件高镐、參數(shù)配置等),驗(yàn)證在性能達(dá)到最優(yōu)時(shí)(最優(yōu)的性能一定是權(quán)衡各方面因素找到的平衡點(diǎn))的最佳配置畸冲。
7嫉髓、浪涌測(cè)試
驗(yàn)證系統(tǒng)在某段時(shí)間內(nèi)并發(fā)突增或請(qǐng)求量波動(dòng)較大的情況下,系統(tǒng)能否正常穩(wěn)定的提供服務(wù)邑闲。
PS:這種測(cè)試策略使用的也相對(duì)較少算行,主要針對(duì)不確定性的短期的峰值流量涌入場(chǎng)景(比如某微博的離婚、戀愛(ài)监憎、分手話題)纱意。
8、穩(wěn)定性測(cè)試
以恒定的并發(fā)數(shù)(根據(jù)負(fù)載測(cè)試的結(jié)果鲸阔,CPU使用率在70%時(shí)對(duì)應(yīng)的并發(fā)數(shù))偷霉,驗(yàn)證系統(tǒng)在混合場(chǎng)景下的性能表現(xiàn)。
9褐筛、批處理測(cè)試
驗(yàn)證待測(cè)系統(tǒng)在既有環(huán)境下类少,系統(tǒng)的批處理(一般都是一個(gè)crontab或者觸發(fā)式的job)業(yè)務(wù)能力能否滿(mǎn)足生產(chǎn)的業(yè)務(wù)需求指標(biāo)。
10渔扎、高可用測(cè)試
在集群多節(jié)點(diǎn)或分布式的情況下硫狞,破壞其中一個(gè)或多個(gè)集群節(jié)點(diǎn),驗(yàn)證系統(tǒng)能否及時(shí)恢復(fù)服務(wù)能力晃痴。
11残吩、容錯(cuò)恢復(fù)測(cè)試
驗(yàn)證系統(tǒng)能否在出現(xiàn)故障的情況下仍能保持正常提供服務(wù)的能力或出現(xiàn)故障后的自我恢復(fù)能力。
施壓策略建議:
在前面的文章中倘核,這塊有說(shuō)過(guò)泣侮,不了解性能測(cè)試人員或者剛?cè)腴T(mén)的性能人員,比如研發(fā)或者產(chǎn)品紧唱,在實(shí)際的工作中活尊,可能習(xí)慣性的高并發(fā)的去壓,單臺(tái)機(jī)器壓測(cè)2000并發(fā)的也有見(jiàn)到過(guò)漏益,這是不可取的蛹锰。我們是為了找到系統(tǒng)最大處理瓶頸,這個(gè)需要一點(diǎn)點(diǎn)的并發(fā)往上加的绰疤,防止服務(wù)器太脆弱直接導(dǎo)致壓跪掉是很有必要的铜犬。
通過(guò)很多性能測(cè)試案例,發(fā)現(xiàn)不需要用上萬(wàn)的用戶(hù)并發(fā)去進(jìn)行測(cè)試,只要系統(tǒng)處理業(yè)務(wù)時(shí)間足夠快翎苫,幾百個(gè)用戶(hù)甚至幾十個(gè)用戶(hù)就可以達(dá)到目的权埠。跟業(yè)界一些性能測(cè)試專(zhuān)家交流,接觸的性能測(cè)試項(xiàng)目,基本都沒(méi)有超過(guò)5000用戶(hù)并發(fā)。