接觸LR有些時間了,也做過幾個大型政府OA的測試,一直有一些想法想法和大家交流。
LR做壓力負載是一個很少的工具,目前在世界上的市場份額也是最多的,大約在70%左右,次之的是QA_load。
壓力負載測試最重要的是環境的配置,一定要模擬真實的環境,否則得出的結果會和真實情況有很大的出入。
比如數據庫查詢時,庫里的數據一定要多,也就是所說的大數據量測試。
環境配置根據不同的系統存在很大差異,但是也有一定的規律可循,或者說一般也有一些通用的原則:
1、并發用戶數一般是在線用戶數的2%~3%,需要注意的是使用用戶數、在線用戶數和并發用戶數的卻別;
2、事務響應時間:3秒之內(非常好)、3-5秒(一般)、5-8秒(免強接受)、8秒以內(用戶不能接受),一般都遵循3、5、8原則;
3、每秒事務數:80%的事務在20%的時間內完成(一年安160天算,一天8小時算),一般遵循80-20原則;
4、服務器在受壓情況下,cpu最佳占用率為60%~80%,多了cpu受不了,少了資源浪費;
5、服務器在不受壓情況下,內存占用率最佳為25%,多了影響服務器性能;
壓力負載測試中也需要注意:
1、注意區別內存泄露和動態內存分配問題;
2、注意壓力端和服務器端的網絡流量,一般來說目前的網絡不會是系統的瓶頸,但是也需要注意;
3、單機的壓力用戶數不要過多,否則會影響測試結果,最好不要超過300;
4、分不同的組來運行不同的事務腳本,應真實的模擬系統情況;
1)動態內存分配和內存泄漏為什么要提出來區別?我覺得這兩個不容易混淆。
2)目前對于內網來說確實象你說的那樣,但是有很多性能測試涉及到公網,所以這個還是要分開來對待
另外系統性能的標準,我也發現很多新手問這個,你給的規格不錯。不過還是要結合實際的情況分析,比如需求中有明確提到的。
內存泄露是指內存申請后沒有釋放,倒是內存占用量不斷增加,最后導致系統崩潰。
動態內存分配存在問題,一般指系統隨訪問量(或者其他)上升,系統地內存消耗量也上升,而且系統沒有限定內存的申請量(或者使用量)(一般來說都要做限定),最后導致系統內存不足而崩潰。
我之所以強調其區別,是因為用LR做壓力測試所表現的癥狀很相見,都是服務器無響應。
我個人認為,一般的,如果LR加壓后半小時內內存還沒有釋放干凈,可懷疑是內存泄露。
當然,一切都不決定,很多都要聯系系統來分析。
做壓力負載測試時,我也是分不清楚內存泄露和動態內存分配,特別是linux操作系統,根據觀察,linux啟動后,不進行什么操作,內存也是在不斷減少的,這都是動態內存分配的原因,所以在做壓力負載測試時,我不知道內存減少是因為內存泄露還是動態內存分配,這兩者的表現都是系統內存在不斷減少。
文章來源于領測軟件測試網 http://www.kjueaiud.com/