一、創建文件夾
1.在執行性能測試的服務器上創建項目的名稱,如 D:\項目名稱,下面創建四個文件夾,分別為data,image, result 和 script,分別用戶存放性能數據,圖像,腳本和執行結果。
這樣做是便于歸類查找瀏覽,通常一臺服務器上會存放好多個項目的執行。
二、編寫腳本
1.這個提出來我主要是想說明下這次項目的腳本是在FF下跑的,是由于在性能測試執行階段還不支持ie下打開界面。
FF下錄制腳本主要設置如下:
new一個腳本的時候主要設置application type和 programe auguments 選擇win32 applications和 firefox.exe所在的目錄,如D:\Program Files\Mozilla Firefox\firefox.exe
三、關注的參數
(1)尋找并發用戶數:
1.首先通過遞增用戶找到load接近4,cpu接近75%時的壓力下的并發用戶數
2.用這個并發用戶數去執行1h/2h的性能測試
3.用這個并發用戶數去進行12h的穩定性測試
(2)根據預期pv確定事務數:
每秒平均值 =( (總PV量*80%)/(24*60*60*40%))/服務器數量=pv/s,每秒的峰值為每秒平均值×1.6得出。(不過關于這個計算模型還有待改進的地方,并不是每條產品線的產品都是這么適用的)
pv/s等價轉化到tps,得出需要滿足的事務數
(3)響應時間,需要小于0.5s
(4)cpu:閥值為75%
(5)load:閥值為4
(6)內存:查看是否能正確釋放內存,存在內存泄漏等。
四、安裝監控工具
1.由于服務器上沒有成功安裝rstated工具,lr中就取不到load和cpu這些數據,所以替補的方法是安裝record-load.sh腳本,來采集load和cpu數據。
數據都是存放在cpu_load.list文件中。由于這個腳本沒有提供平均值的計算功能,執行完成后需要復制出來在excel中計算平均值,已經提建議給性能測試組他們會改進腳本。
2.安裝jconsole監控java內存,穩定性測試需要開這監控。需要在服務器中配置一項:
在/home/admin/dianping/bin jbossctl文件中
JAVA_OPTS=”$JAVA_OPTS -Djava.awt.headless=true”
JAVA_OPTS=”$JAVA_OPTS -Dsun.net.client.defaultConnectTimeout=10000″
JAVA_OPTS=”$JAVA_OPTS -Dsun.net.client.defaultReadTimeout=30000″
之后添加JAVA_OPTS=”$JAVA_OPTS -Djava.awt.headless=true -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=*.*.*.*”
就ok了。打開jconsole后,主要查看內存——對內存使用情況和內存池”ps old gen”中的情況。能否正常釋放內存。
五、規范和模板
1.可以參照——性能測試腳本制作和場景設置規范.doc
2.腳本,測試結果,事務也有相應的命名規范,腳本命名為(應用名稱+性能點名稱),事務命名(性能點名稱),
測試結果命名規則為(應用名稱+性能點名稱+執行腳本時間+并發用戶數+運行時間)
3.模板——性能測試報告模板.doc和性能測試設計方案模板.doc
六、查看日志
1.查看debug日志(debug.log ):查看是否有報錯信息
2.查看超時日志(filter.log):查看是否超時。這里超時的判斷看是否大于200ms,超時的概率有個計算公式:超時的概率=超時日志中超時的數目/事務數
事務數可以在lr中的結果中有個查看總的事務數。超時的概率的閥值為10萬分之1。大于這個概率的時候需要開發去查找超時的原因。
七、linux命令
1.我這次主要用到如下的linux命令:ls,cd ,cd .. ,su ,vi,tail -f ,ctrl+z。當然還有很多其他的命令,之后再去實踐了。
八、性能測試期間遇到的問題和心得:
1.錄制腳本碰到的疑惑:腳本中發表點評的內容顯示成“?????????, ?????????”—— 這個就是輸入的文字只是中文顯示不出來,這樣顯示沒有問題;
2.對性能測試的各個參數點及對應的標準需要非常熟悉,這樣好比有了一個預期結果和一個參照標準,執行測試過程中可以很快查出某個點的性能問題;
3.shell腳本中建議增加一項LOAD和CPU的平均值的計算功能。
最后,還是要感謝下性能測試小組的同學給予的幫助,謝謝悟石和元壯,在這個項目中給我耐心的講解和解釋,讓我了解很多性能測試知識。
文章來源于領測軟件測試網 http://www.kjueaiud.com/