效能測試流程(七) 測試執行與效能調優

2021-10-09 17:59:20 字數 1826 閱讀 5802

二、一般效能調優步驟

1、準備測試資料

2、使用測試工具模擬測試點,回放ok

3、根據測試策略,使用不同的虛擬使用者和測試組合 執行測試。

4、監控系統cpu、記憶體、中介軟體,資料庫的效能,收集資料。

5、重複3、4。

效能測試調優需要先發現瓶頸,那麼系統一般會存在哪些瓶頸:

硬體上的效能瓶頸:

一般指的是cpu、記憶體、磁碟i/o 方面的問題,分為伺服器硬體瓶頸、網路瓶頸(對區域網可以不考慮)、伺服器作業系統瓶頸(引數配置)、中介軟體瓶頸(引數配置、資料庫、web伺服器等)、應用瓶頸(sql 語句、資料庫設計、業務邏輯、演算法等)。

應用軟體上的效能瓶頸:

一般指的是應用伺服器、web 伺服器等應用軟體,還包括資料庫系統。

例如:中介軟體weblogic 平台上配置的jdbc連線池的引數設定不合理,造成的瓶頸。

應用程式上的效能瓶頸:

一般指的是開發人員新開發出來的應用程式。

例如,程式架構規劃不合理,程式本身設計有問題(序列處理、請求的處理執行緒不夠),造成系統在大量使用者訪問時效能低下而造成的瓶頸。

作業系統上的效能瓶頸:

一般指的是windows、unix、linux等作業系統。

例如,在進行效能測試,出現物理記憶體不足時,虛擬記憶體設定也不合理,虛擬記憶體的交換效率就會大大降低,從而導致行為的響應時間大大增加,這時認為作業系統上出現效能瓶頸。

網路裝置上的效能瓶頸:

一般指的是防火牆、動態負載均衡器、交換機等裝置。

例如,在動態負載均衡器上設定了動態分發負載的機制,當發現某個應用伺服器上的硬體資源已經到達極限時,動態負載均衡器將後續的交易請求傳送到其他負載較輕的應用伺服器上。在測試時發現,動態負載均衡器沒有起到相應的作用,這時可以認為網路瓶頸。 效能測試出現的原因及其定位十分複雜,這裡只是簡單介紹常見的幾種瓶頸型別和特徵,而效能測試所需要做的就是根據各種情況因素綜合考慮,然後協助開發人員\dba\運維人員一起定位效能瓶頸。

步驟一:確定問題

應用程式**:在通常情況下,很多程式的效能問題都是寫出來的,因此對於發現瓶頸的模組,應該首先檢查一下**。

資料庫配置:經常引起整個系統執行緩慢,一些諸如oracle 的大型資料庫都是需要dba進行正確的引數調整才能投產的。

作業系統配置:不合理就可能引起系統瓶頸。

硬體設定:硬碟速度、記憶體大小等都是容易引起瓶頸的原因,因此這些都是分析的重點。

網路:網路負載過重導致網路衝突和網路延遲。

步驟二:分析問題

當確定了問題之後,我們要明確這個問題影響的是響應時間吞吐量,還是其他問題?是多數使用者還是少數使用者遇到了問題?如果是少數使用者,這幾個使用者與其它使用者的操作有什麼不用?系統資源監控的結果是否正常?cpu的使用是否到達極限?i/o 情況如何?問題是否集中在某一類模組中? 是客戶端還是伺服器出現問題? 系統硬體配置是否夠用?實際負載是否超過了系統的負載能力? 是否未對系統進行優化?

通過這些分析及一些與系統相關的問題,可以對系統瓶頸有更深入的了解,進而分析出真正的原因。

步驟三: 確定調整目標和解決方案

得高系統吞吐量,縮短響應時間,更好地支援併發。

步驟四:測試解決方案

對通過解決方案調優後的系統進行基準測試。(基準測試是指通過設計科學的測試方法、測試工具和測試系統,實現對一類測試物件的某項效能指標進行定量的和可對比的測試)

步驟五:分析調優結果

系統調優是否達到或者超出了預定目標?系統是整體效能得到了改善,還是以系統某部分效能來解決其他問題。調優是否可以結束了。

最後,如果達到了預期目標,調優工作就基本可以結束了。

jmeter 效能測試9 測試執行

目的 測出單個介面平均響應時間,或者其他效能基準 主要用來驗證測試環境 指令碼準確性,得到效能基準,為後續的測試執行提供參考。基準測試採用單業務場景單使用者的方式來執行指令碼 執行時長視響應時間調整,測試結果取樣樣本盡量大 比如響應時間1秒,1000個事務就需要執行1000秒以上 響應時間200毫秒...

LoadRunner效能測試執行過程的問題

執行測試並分析調優 測試中報錯的資訊解決 1.failed to connect to server 網域名稱 80 10065 no route to host 解決 這種錯誤資訊有兩種情況,一是交換機堵塞,一是伺服器網路堵塞或者cpu無法響應 網絡卡中斷處理不過來了 從伺服器端檢查下iptabl...

測試執行分層

測試執行分層 v模型體現了測試設計分層和測試執行分層的概念,本文以作者自身的理解談談測試執行分層,不過從實際專案運作情況來看,真正做到測試執行分層的並不多,這裡原因有很多種,暫且不論。1.ut 單元測試的物件是lld中所劃分定義的程式單元或模組,它也是單元測試用例設計中可測試的最大單元。該測試物件可...