- 目的:發(fā)現(xiàn)性能瓶頸
- 概念:性能測試是一個非常廣泛的概念,包括很多方面的測試,也可稱為非功能測試
具體分類(測試范圍):
- 負(fù)載測試:通過逐步加壓的方法,達(dá)到既定的性能閾值的指標(biāo)。閾值的設(shè)定應(yīng)是小于某個值,如cpu使用率小于等于80%
- 壓力測試:通過逐步加壓的方法,使得系統(tǒng)的某些資源達(dá)到飽和,甚至失效的狀態(tài),簡單粗暴的解釋就是什么條件能把系統(tǒng)壓崩潰。
- 并發(fā)測試:在同一時間內(nèi),多個虛擬用戶同時訪問同一模塊,同一功能,通常的測試方法是設(shè)置集合點(diǎn)(等待所有的虛擬用戶到時間滿足了集合點(diǎn)的條件,比如有100個并發(fā),必須等80個用戶全到這才能一起開始)
- 容量測試:通常是指數(shù)據(jù)庫層面的,目標(biāo)是獲取數(shù)據(jù)庫的最佳容量的能力。又稱為容量預(yù)估。具體測試方法為在一定的并發(fā)用戶,不同的基礎(chǔ)數(shù)據(jù)下,觀察數(shù)據(jù)庫的處理能力,即獲取數(shù)據(jù)庫的各項性能指標(biāo)。
什么時候做容量測試?
所有的性能測試都已經(jīng)測完了,性能指標(biāo)也滿足現(xiàn)有既定性能指標(biāo),未來幾個月要擴(kuò)大業(yè)務(wù)的時候 - 可靠性測試:又稱之為穩(wěn)定性測試或疲勞測試。是指系統(tǒng)在高壓情況下,長時間的運(yùn)行系統(tǒng)是否穩(wěn)定。如cpu使用率在80%以上,7*23小時運(yùn)行,系統(tǒng)是否穩(wěn)定。
這個測試最有可能發(fā)現(xiàn)內(nèi)存溢出(OOM),因為內(nèi)存泄露發(fā)生的原因是底層垃圾回收不徹底導(dǎo)致出現(xiàn)的問題 - 異常測試:又稱為失敗測試。是指系統(tǒng)架構(gòu)方面的測試。如在負(fù)載均衡架構(gòu)中,要測試宕機(jī),節(jié)點(diǎn)掛掉等情況系統(tǒng)的反應(yīng)。比如一個nginx服務(wù)器掛著3個tomcat,掛掉1個是什么反應(yīng)。正常情況下是掛掉一個并不影響整個系統(tǒng)。正常情況下掛掉用戶nginx就不往這個請求上發(fā)了,發(fā)到其他2個。然后進(jìn)程復(fù)活后,接著往那臺機(jī)器上發(fā)。