在開始效能測試之前,我們需要知道什麼?
當客戶或老闆把你叫來,對你說,去給我們系統做個性能測試,千萬別傻傻的說“好!”然後,就走了,我以前這麼幹過(那時不懂,打腫了臉充胖子),回到座位後,不知從何下手了。
那麼,我們需要知道什麼呢?
1. 效能測試的目的
首先要知道客戶的要求。
我把效能測試按目的分以下幾種
1)客戶有明確要求
這是一個好的結果,這說明客戶對效能測試有一定的瞭解,知道他們需要的系統要達到一個什麼樣的標準。如:系統要求同時滿足100使用者登陸,平均每個使用者登陸時間不能超過5秒。這個需求很明確,當然也不排除一些不懂裝懂的使用者,提一些不現實的要求。
不管怎麼說,使用者提要求了,這個比較容易,你可以對現系統做一次效能測試,至於,是通過優化系統還是增加硬體裝置才能達到要求。就不是我們考慮的問題了。
2)只是想知道目前系統性能(容量測試)
可以把我們的目的就是求得最大使用者數和最佳使用者數。但是,這仍然是比較含糊的一個需求,我們需要對系統做出分析,找出系統的壓力點。
3)找出系統性能瓶頸
這個同樣需要分析可能對系統造成瓶頸的邏輯業務,然後才能進行效能測試。
4)了系統在長時間的壓力下效能狀況(強度測試)
這個一般驗證系統的穩定性,因為系統一旦上線,就有可能會長期處在大使用者的訪問狀態,可能以前沒發現的一些問題就會暴漏出來。比較典型的就是記憶體溢位。
2. 效能測試的環境
確定了我們的測試目的,當然需要測試環境。這裡的環境,我們需要考慮一下幾點
1)硬體環境
我們需要了解被測伺服器硬體配置,用於加壓客戶端的機子配置,CPU 記憶體 等
2)軟體環境
我們需要了解被測系統的架構,前端、中介軟體、伺服器(這裡指執行系統軟體伺服器,如tomcat)、資料庫,以及他們的部署位置。
用於加壓的客戶端採用什麼效能測試工具進行加壓。
3)網路環境
網路環境很重要。在上面的幾個目的中,除了找出系統性能瓶頸可以在廣域網進行,因為這個目的可以不用設定太多的虛擬使用者,只要找出系統哪個地方影響了整個系統的效能就行。
其他目的的測試都需要在,區域網進行,不然你壓力工具所傳送的請求都會卡死在網路的傳輸過程中。
3. 尋找系統的壓力點
我們需要對系統的哪個頁面或業務進行加壓。這個不是自己想出來的,需要與開發人員的溝通。系統的首頁?系統的登入?還是系統的交易過程?各個業務的使用者比例是多少?
只有獲得有效的效能需求,才容易尋找和定位壓力點。
如果上面的幾點,你都很清晰了,那麼開啟你的效能測試工具開始錄製(或編寫)你的效能測試指令碼吧!
備註:轉自蟲師部落格!