性能測試無論是在考試還是工作中,都是一個經常出現的話題,性能測試有助于確認被測系統是否能夠支持性能需求,以及預期的負載增長等。性能測試不只是關注不同負載場景下的響應時間等指標,它也要通過測試來發現在不同負載場景下會出現的,例如速度變慢、內存泄漏等問題的原因。下面就性能測試的概念、分類等知識點進行總結學習。
?
?
概念:一般也叫做負載壓力測試,是指在一定約束條件下測試系統所能承受的并發用戶量、運行時間、數據量,以確定系統所能承受的最大負載壓力。需要注意的是性能評測需要在真實的環境下,檢查系統服務等級的滿足情況,評估并報告整個系統的性能,還需要對系統的未來容量作出預測和規劃。
?
具體來說,性能測試有以下常見的四種形式:
(1)負載測試:通過逐步增加系統負載,測試系統性能的變化,并最終確定在滿足性能指標的情況下,系統所能承受的最大負載量的測試。
(2)壓力測試:通過逐步增加系統負載,測試系統性能的變化,并最終確定在什么負載條件下系統性能處于失效狀態,并以此來獲得系統能提供的最大服務級別的測試。通俗地講,壓力測試是為了發現在什么條件下系統的性能會變得不可接受。可見,壓力測試是一種特定類型的負載測試。例如,訪問一個頁面的響應時間規定為不超過3秒,負載測試就是測試在響應時間為3秒時,系統所能承受的最大并發訪問用戶的數量,而壓力測試就是測試系統在多大的并發訪問用戶數量下,響應時間不可接受,例如超過1分鐘(定義為失效狀態)。
(3)疲勞強度測試:通常是采用系統穩定運行情況下(例如7*24小時)能夠支持的最大并發用戶數,或者日常運行用戶數,持續執行一段時間業務,保證達到系統疲勞強度需求的業務量,通過綜合分析交易執行指標和資源監控指標,來確定系統處理最大工作量強度性能的過程。一般情況下利用疲勞強度測試來模擬系統日常業務操作。
(4)大數據量測試:也叫做容量測試,包括獨立的數據量測試和綜合數據量測試兩類。獨立的數據量測試指針對某些系統存儲、傳輸、統計、查詢等業務進行的大數據量測試。綜合數據量測試指和壓力性能測試、負載性能測試、疲勞性能測試相結合的綜合測試。
?
性能測試的目的總結如下:
(1)在真實環境下檢測系統性能,評估系統性能以及服務等級的滿足情況。
(2)預見系統負載壓力承受力,在應用實際部署之前,評估系統性能。
(3)分析系統瓶頸、優化系統。
性能測試常見的測試指標包括:
并發用戶數
平均事務響應時間
每秒事務數
每秒點擊次數
吞吐量
點擊率
資源利用率(CPU、內存和磁盤等)
?
其中有關數據庫資源占用的性能監控指標包括:
讀寫頁面的使用情況
超出共享內存緩沖區的操作數
上一輪詢期間作業等待緩沖區的時間
共享內存中物理日志和邏輯日志的緩沖區的使用率
磁盤的數據塊使用情況以及被頻繁讀寫的熱點區域
用戶事務或者表空間事務
數據庫鎖資源
關鍵業務的數據表的表空間增長
SQL執行情況