·企業對於效能測試工程師的要求:
·要求熟練掌握至少一種效能測試工具,並且能夠實現效能測試指令碼的開發。
·能夠獲取、分析、提煉效能需求。
·能夠根據效能需求去進行測試場景的設計和實現。
·能夠根據效能的需要進行必要的監控。
·能夠根據效能測試結果、集合監控、伺服器日誌等資料分析、定位效能瓶頸
·能夠提出調優建議。
·能夠根據需要編寫合格的效能測試報告。
·具備良好的溝通表達能力、團隊合作能力。
·掌握一些其他必要的工具。
·效能測試工程師所面臨的挑戰
·資源問題
人力物力(硬體:
要有獨立的測試環境,要有獨立的機器(伺服器在雲端進行壓測沒有任何意義,你的壓力很有可能被網路運營商,微服務商,
或者伺服器對外頻寬本來就不足,都是可能構成測試測試失敗的要素,你會發現怎麼壓都壓不上去,因為這是乙個環境)。
人:dba、運維、開發、測試
·知識面問題:
廣度優於深度
技術更新
·效能:
什麼是效能?
效能是指事物的性質和能效。
對於軟體系統來說,效能指標、說法很多,但是效能從本質上來說,就是兩點:
·how fast:是用來衡量乙個系統的處理效率。
·how much:是用來衡量乙個系統的處理能力。
ps:一般來說,論及乙個系統的效能,必須要同時衡量這兩點。
系統的效能其實沒有絕對意義上的好和壞,只有是否滿足或者符合需求。
·吞吐量:反應的是乙個系統的處理能力。
·tps/qps:每秒事務數/每秒請求數。
·throughput:統計的是資料流量,單位是byte。統計方式可以是網路流量or磁碟流量。
·資源利用率:
事實上,資源利用率作為效能指標的意義遠遠小於其作為分析、定位效能瓶頸的資料的意義。
一般來說,我們監控的資源是指:系統資源、伺服器資源、資料庫資源等。
·系統資源:cpu、記憶體、磁碟io、網路頻寬
·伺服器資源:cpu、記憶體、連線數、gc等
·資料庫資源:cpu、記憶體、快取命中率、熱點塊、慢查詢、執行計畫等等。
ps:通常來說,響應時間和吞吐量指標都是由效能測試工具自身來提供。而資源利用率則可以通過專業的第三方工具來實現監控。
效能問題主要是**,資料庫層面的問題。
·負載使用者的分類:
效能測試的實現方式:通過效能測試工具在協議級別去模擬實現大量的虛擬使用者去訪問被測伺服器。
·負載使用者:就是指給伺服器造成壓力的使用者,通常我們在效能測試領域,模擬測試的時候,要去設定虛擬使用者數,就是所謂的負載使用者數。
負載使用者數根據其參考**可以分為以下幾種:
·系統最大使用者數:
此「使用者」不一定是真正的人。
·併發使用者數:
併發分為兩種:狹義的併發、廣義的併發。
·狹義的併發:是指同時向伺服器發起請求的使用者數。
計算公式:伺服器端併發處理能力=tps*平均響應時間
一般來說,狹義的併發主要是指各種秒殺場景。
ps:一般來說,狹義併發的時候,我們只關心響應時間,不關心tps。
·效能測試的分類:
效能測試按目的可以分為以下幾類:
·負載測試:測試目的就是為了得到系統的最大處理能力、最佳效能表現和最大有效負載使用者數。
注意事項:
·負載使用者的起點和變動。
·每一輪負載測試的環境的一致性。
·壓力測試:是為了測試系統的穩定性。
實現方式:使得系統長時間在高壓力情況下進行測試。
一般:7*24小時。
·容量測試:是為了測試系統在特定容量條件下的效能表現,或者通過測試去評估在特定容量條件下的效能表現。
一般來說,系統容量是指以下方面:資料庫、磁碟、網路頻寬、連線數、緩衝池大小等。
通常來說,資料庫容量是我們在做效能測試的時候需要重點關注的。
要從以下幾個角度考慮測試環境和真實線上環境的資料庫的一致性:
·資料庫的大小 單位是byte(gb\tb)
·資料庫的級別 單位是條數。是指資料庫中的記錄的數量。
·資料特徵
·基準測試:就是為了獲取基準的效能指標。通常就是指響應時間和資源利用率
基準分為兩種情況:
·同一輪次:通常來說建議取乙個使用者進行測試。
·併發測試:是為了測試系統是否存在資源爭用、事務衝突、鎖的公升級等問題。
·效能測試工程師的自我修煉:
·了解作業系統
·了解計算機網路相關的知識。
·熟練掌握至少一種效能測試工具。
·熟練掌握至少一種伺服器
·熟練掌握至少一種資料庫
·熟練掌握至少一種程式語言。
·熟練文件的編寫。
·具有良好的學習習慣和學習方式。
效能測試基礎
效能測試 效能測試主要是通過大量的併發請求,和資料處理,使系統在高併發的情況下衡量乙個系統的強壯性,可靠性 效能測試的步驟 1 首先了解效能測試的需求 第一點,在需求明確的情況下,直接按照需求進行測試 一般在正規的公司,流程完善,產品和架構設計人員都是可以給得出比較合理的乙個效能測試指標 第二點 在...
效能測試基礎
1 計算機相關的知識。硬體 一般來說,和效能有關的主要有以下幾個 cpu 一般來說,cpu的忙碌程度就反應了當前系統中所執行的任務的多少和執行速度的快慢。記憶體 記憶體分為兩種 物理記憶體和虛擬記憶體。物理記憶體 記憶體條所提供的,讀寫速度快。虛擬記憶體 是從磁碟中劃分出來的,讀寫速度慢。系統原則 ...
效能測試基礎
一 軟體效能描述 軟體效能 指軟體執行過程中的響應時間與系統資源消耗情況是否滿足使用者需求 二 效能測試相關術語 網路傳輸時間 應用伺服器處理時間 資料庫伺服器處理時間 2 併發使用者數 同一時刻與伺服器進行資料互動的所有使用者數量 如何確定併發使用者數 參考其他同類產品 分析歷史資料 試上線執行 ...