1.1性能測試調整基礎
所謂性能調整是為了改善系統某些方面的性能而對系統軟件或者硬件進行的修改。性能調整不是測試人員的職責,性能測試工程師的主要任務是發現并定位性能問題。對于性能測試中發現的問題,通常由性能測試工程師、DBA、系統管理員、開發人員共同來解決。但是對于測試人員,了解調整的相關知識則是十分必要的。
在性能測試工作中經常會提到“性能調優”或者“系統調優”等概念。實際上,“性能調優”或者“系統調優”只是性能調整的一部分內容。例如,可能為了讓某些部分“更優”而把某些部分調的“不優”,因此本書使用“性能調整”這一說法。
本節主要討論性能調整的基礎知識。性能調整應該按照一定的順序進行,主要包括下面五個步驟:
1、 確定問題
首先要根據測試結果確定系統是否存在問題,重點是發現系統的瓶頸。如果存在,就應該確定是什么問題,并對問題進行正確的定位。確定系統問題從下面幾個方面入手:
應用程序代碼:通常情況下,很多程序的性能問題都是“寫”出來的。因此對于發現瓶頸的模塊,應該首先檢查代碼;
數據庫配置:數據庫配置經常會引起整個系統運行緩慢,一些諸如Oracle的大型數據庫都是需要DBA進行正確的參數調整才能投產;
操作系統配置:操作系統配置不合理也可能引起系統瓶頸;
硬件設置:磁盤速度、內存大小等都是容易引起瓶頸的原因,因此這些也是分析的重點;
網絡:網絡負載過重會導致網絡沖突和網絡延遲。
同時,還要對系統的使用情況進行調查,例如:
是否聽到了很多用戶的抱怨?
是否某些操作的響應時間隨著使用時間越來越長?
CPU的使用率是否很低而I/O的使用率卻很高?
使用過程中性能是否穩定?
系統性能問題不是顯而易見的,要仔細地查找才能夠進行正確的定位。
2、 確定原因
確定系統存在問題后就要仔細分析,進而確定引起問題的原因。確定原因很大程度上靠的是團隊的經驗和技術能力,涉及的知識有操作系統、數據庫、網絡、程序開發等許多方面。
和確定性能問題一樣,確定原因仍然要廣泛地搜集信息。通常要進行以下的分析:
問題的影響是什么:響應時間還是吞吐量,或者其它問題?
是大多數用戶還是少數用戶遇到了問題?如果是少數用戶,這幾個用戶與其他用戶的操作有什么不同?
系統資源監控的結果是否正常:CPU的使用是否到了極限?I/O情況如何?
問題是否集中在某一類模塊中?
是客戶端還是服務器出現問題?
文章來源于領測軟件測試網 http://www.kjueaiud.com/