Jmeter 效能測試目的

2021-09-24 17:13:22 字數 2300 閱讀 9630

開發人員對系統調優後,需要測試人員配合去做效能測試,驗證這次優化是否有效果。如果效能指標相比較之前的效能指標更好了,說明系統優化的有效果。反之說明調優不理想

系統從無到上線,驗證新系統的能力是否能夠滿足某段時間系統使用要求,否則當高峰期來臨,系統可能會崩潰。

做效能測試經常跑一兩個小時或者幾十分鐘就可以了,但系統的穩定性,系統能否長期穩定的工作,這個是不夠的。系統出現的穩定性問題,一般有記憶體洩漏、連線數洩漏、死鎖、游標不夠用等,這些問題短時間內可能不會暴露出來。為了驗證系統穩定性,一般用效能峰值併發數(即系統支援的最大併發數)*7天*24小時,系統的吞吐量,平均響應時間等各項效能指標均正常則認為系統穩定性是ok的。根據系統的重要程度,可以適當調整執行的時間,但至少要壓測乙個晚上的時間。

同一系統,架構師會提供不同的架構方案。那麼不同的設計方案到底哪個好,我們可以通過效能測試驗證不同方案的效能,其次了解系統大概達到什麼量級的併發後系統就會出現問題,了解系統架構在達到效能峰值時哪塊會出現瓶頸,幫助開發針對性地進行系統調優工作。

一般考慮的點有如下幾點:

- 系統中被頻繁使用的功能、呼叫的介面等

- 系統中涉及大量資料庫讀、寫的功能

- 大量讀寫系統快取部分的功能,驗證快取是否生效

總得來說應該將使用者訪問量大的,頻繁運算元據庫的,系統核心功能這些地方考慮到效能測試範圍內。

主要對效能測試設計、測試執行以及資料分析。

量:包括業務量(業務型別),負荷量(系統處理的流量),配置量(軟體配置和硬體配置),使用者量(靜態使用者和動態使用者),時間量(測試的時間)。

全:主要是針對測試用例而言。測試用例理你包括預置條件,測試步驟和預期結果三部分,這個「全」重點針對預置條件和測試步驟的測試結果觀察和資料而言。

深:一是對系統地了解要深,二是對缺陷的分析要深。

快:一是測試經驗的固化,避免測試設計,觀察等遺漏。將經驗固化成模板或工具便於經驗的傳承,減少測試的重複和遺漏;二是效能測試的自動化,包括效能測試環境構建和測試執行以及測試分析的自動化,自動化對效能測試效率的提公升價值更大。

主要針對響應時間。簡單說,就是當使用者能夠在2秒以內得到響應時,會感覺系統的響應很快;當使用者在2-5秒之間得到響應時,會感覺系統的響應速度還可以;當使用者在5-10秒以內得到響應時,會感覺系統的響應速度很慢,但是還可以接受;而當使用者在超過10秒後仍然無法得到響應時,會感覺系統糟透了,或者認為系統已經失去響應,而選擇離開這個web站點,或者發起第二次請求。

用於減少風險,抓住重點進行更多的測試:80/20原則即帕累託法則(pareto principle),使用者80%的時間在使用軟體產品中20%的功能。「重點測試」就是測試這20%的功能,而其他80%的功能屬於優先順序低的測試範圍,佔測試20%的資源。

例項:對測試強度估算

基本概念:每個工作日80%的業務在20%的時間內完成。

例如:每天工作8個小時,那麼每天80%的業務在8*20%=1.6小時內完成。

例如:去年全年處理業務約100萬筆,其中,15%的業務處理中,每筆業務需對應用伺服器提交7次請求;70%的業務處理中,每筆業務需對應用伺服器提交5次請求;其餘15%的業務處理中,每筆業務對應用伺服器提交3次請求。根據以往的統計結果,每年的業務增量為15%,考慮到今後3年業務發展的需要,測試需按現有業務量的兩倍進行。

強度估算如下:

每年的總請求數為:

(100*15%*7+100*70%*5+100*15%*3)*2=1000萬次/年

每天的請求數為:

1000/160=6.25萬/天《備註:每個月為20個工作日,所以1年為160天》

每秒請求數:(62500×80%)/(8*20%*3600)=8.68次/秒

保證效能測試與真實生產環境的一致性,具體從以下三方面看:

如伺服器的型號,是否與其它應用程式共享此伺服器,是否在集群環境下,是否通過bigip進行負載均衡,客戶使用的硬體配置情況,使用的交換機型號,網路傳輸速率。

版本一致性

包括作業系統、資料庫、中介軟體的版本,被測系統的版本。

配置一致性

系統(作業系統/資料庫/中介軟體/被測試系統)引數的配置一致,這些系統引數的配置有可能對系統造成巨大的影響。所以,除了保證測試環境與真實環境所使用的軟體版本一致,也要關注其引數的配置是否一致。

基礎資料的一致性

包括**的業務資料量,以及資料型別的分配。很簡單的乙個列子,乙個系統的資料庫只有10條資料和一條資料庫裡幾千萬條資料,我們在對其進行效能測試時,得到的效能指標可能會有非常大的差別。

為了保證每次測試環境的更加一致性,磁碟的使用情況以及磁碟的碎片情況也會或多或少地影響的效能。

使用模式的一致性

盡量模擬真實場景下使用者的使用情況,其實,我們在做效能測試前期的需求分析,其主要目的也就是為了更真實的模擬使用者的使用情況。

效能測試 Jmeter

如何更快速的入門jmeter 建議通過錄製指令碼的方式,快速的了解乙個效能測試應該包括的元件以及它們的層級關係。關於錄製方式,請參考 jmeter基礎之 錄製指令碼 如下,通過badboy 工具錄製的乙個指令碼 指令碼過程 登入 126郵箱,給自己發一封郵件,祝自己聖誕快樂!並可以方便的將指令碼匯出...

jmeter效能測試

請參考 jmeter效能測試文章集合 jmeter 菜鳥入門到高階 系列 開源效能測試工具jmeter jmeter badboy環境搭建 badboy使用手冊 壓力測試之badboy和jmeter的簡單使用方法 jmeter 菜鳥入門到高階 系列 jmeter是我從事軟體測試工作以來接觸的第乙個效...

Jmeter效能測試

轉 1 準備好指令碼,非gui模式下執行 在jmeter的bin目錄下執行命令 使用命令 jmeter n t l n 非gui模式 t 需要執行的指令碼檔名,如 xx.jmx l 儲存的檔名,如 xx.jtl jmeter n t e 1 apache jmeter 3.1 test testca...