效能測試 概述

2022-10-10 18:45:09 字數 1310 閱讀 1040

什麼是效能測試:

是不斷的通過不同場景的系統表現去**系統設計與資源消耗之間的平衡。

我們可以認為效能測試是:通過在測試環境下對系統或構件的效能進行探測,用以驗證在生產環境下系統效能是否達到預估的效能需求,發現系統可能存在的效能瓶頸,進而改善優化並系統的效能,提高系統的可擴充套件性、穩定性。

從上面的描述可以看出,效能測試的主要工作包括:獲得預估的效能需求、搭建測試環境、執行測試、分析測試結果。其中,最為重要兩個工作是確定測試的目的、方案,並對結果進行分析。

效能測試的目的:

(1)驗證系統是否滿足預期需求;

(2)驗證系統在高壓下的表現;

(3)驗證系統是否能持續穩定的執行;

(4)探測系統的瓶頸和產生瓶頸的原因;

(5)探測系統設計與資源之間的最佳平衡,改善並優化系統的效能。

如何做效能測試:

測試內容:

負載測試

穩定性測試

壓力測試

測試流程:

注意點:

關注的指標:

併發使用者數、吞吐量、響應時間、失敗率、cpu、記憶體、i/o讀寫速度、網路頻寬等 

指標分析:

1.響應時間不要光看平均值,平均值不靠譜。要求最好定成:99.9%請求必須<1s,所有的平均響應時間必須<1s,這兩個條件限制;

2.響應時間要和吞吐量tps/qps掛鉤;

系統的效能如果只看吞吐量,不看響應時間是沒有意義的。我的系統可以頂10萬請求,但是響應時間已經到了5秒鐘,這樣的系統已經不可用了,這樣的吞吐量也是沒有意義的。

我們知道,當併發量(吞吐量)**的時候,系統會變得越來越不穩定,響應時間的波動也會越來越大,響應時間也會變得越來越慢,而吞吐率也越來越上不去(如上圖所示),包括cpu的使用率情況也會如此。所以,當系統變得不穩定的時候,吞吐量已經沒有意義了。吞吐量有意義的時候僅當系統穩定的時候。

所以,吞吐量的值必須有響應時間來卡。比如:tp99小於100ms的時候,系統可以承載的最大併發數是1000qps。這意味著,我們要不斷的在不同的併發數上測試,以找到軟體的最穩定時的最大吞吐量。

3. 響應時間吞吐量要和成功率掛鉤 ;

不難理解,如果請求可以併發10w,但是成功率只有40%,那也沒什麼用。效能測試的失敗率的容忍應該是非常低的。對於一些關鍵系統,成功請求數必須在100%,一點都不能含糊。

4. cpu、記憶體等硬體資源佔比持續超過90%,說明效能存在瓶頸;

5. 頻寬波動起伏很大,說明頻寬受限;

效能測試體系概述

效能測試是對系統整體處理能力進行驗證 度量 評價和確認的過程,整體處理能力包括可承受的負載 資源的消耗 使用者體驗以及可靠性等。全面的效能測試不光貫穿軟體開發的整個過程,還包括系統上線後的運維 公升級過程。效能測試的主要目的是預防和 效能風險,而不是保證效能質量,效能質量的保證要靠各種資源和人員的有...

軟體效能概述

1.1.1 軟體效能的概念 軟體效能是與軟體功能相對應的一種非常重要的非功能特性,表明了軟體系統對時間及 時性及資源經濟性的要求。1.1.2 不同角色對軟體效能的理解 1 系統使用者 響應時間。使用者執行乙個功能操作後,到軟體把本次操作的結果完全展示給使用者所消耗的時間。2 系統運維人員 穩定,可擴...

效能優化概述

效能優化的指標 併發量 秒殺 雙11 比如微博的幾次拓機 qps tqp 具體的實時方案 一 級別 效果很明顯,以自之力是可以完全實現 快取 本地快取 redis等。效果最明顯 提公升1000倍以上 批處理 比如myslq 批插入,redis 的hset等 提公升n倍 併發 多執行緒 執行緒池技術,...