以下性能測試方案和流程是根據我以前公司的情況整理的,僅供參考。
當時我把此方案和流程發郵件給相關領導,就是想相關領導能夠重視產品性能,安排各方人員配合做好性能測試,提高產品質量。具體內容如下:
目前項目研發時間里,沒有預留做性能測試的時間和人力資源,后續建議考慮性能測試和安全測試的時間和人力資源。
性能測試不是靠一個人能夠完成的,是需要各方面人員配合才能完成的。
還需要一些硬件和軟件的支持。
目前根據公司的情況,想到以下性能測試方案,希望得到各方面人員的支持和配合,謝謝!
方案一:在測試環境仿真性能測試環境進行以下三大方面的檢查。
1、SQL語句處理時間的檢查。需要開發人員提供該項目使用到的SQL語句。
2、大數據量的查詢時間檢查。需要開發人員提供下批量往數據庫插入訂單的SQL語句,DBA人員執行SQL語句后,我們再模擬不同場景來查詢數據檢查其處理時間。
3、交易並發量的檢查。需要開發人員去掉微信用戶登錄的控制,搭建好測試環境。
3.1 編寫測試腳本的方案有兩個:方案A是我們使用LR或Jmeter來錄制,目前找到方法使用Jmeter來錄制手機微信頁面的腳本,優化腳本。
若有些項目方案A不可行,則采用方案B:測試人員編寫測試腳本(包括訪問地址、表單提交參數、提交按鈕觸發),需要開發人員協助調試,方案B編寫一次,后續有類似項目,則我們都可以采用這種方法。
3.2 場景設置、場景監控。需要在服務器(壓力機)上安裝LoadRunner Agent,壓力機與Controller所在機器要在同一個網段。被監控的windows機器需要開啟Remote Procedure Call(RPC)和Remote Registry Service服務。若被監控的Linux機器,則要安裝RPC服務。則需要運維人員幫助確認此服務是否開啟。
4、若第3點不可行,則只能動員公司人員,模擬真實下訂單場景來監控服務器CPU、處理時間、進程數的使用情況。
方案二:對生產環境進行性能監控與分析。
建議安排專門人員進行性能監控與分析,根據不同的項目需求來分析其性能需求,為后面相似項目的性能需求做准備,同時可以根據性能分析出來的結果,在需求分析和研發過程中把相關的性能瓶頸問題消滅掉。
1、 操作系統性能監控分析工具的選擇
Linux下監控工具非常多,在實時監控的時候,用top、vmstat、iostat、sar監控即可。
如果是為了觀察方便、直接,以及實現性能測試報告快速出圖,可以用nmon、Spotlight on Linux進行監控。
2、 數據庫系統性能監控工具選擇
Oracle的性能監控工具也有很多,如Spotlight on Oracle、OEM、ADDM、Toad等。
MySQL的性能監控工具有很多,如MySQLMTOP、開源的RRDTool、Nagios、MRTG、Cacti等。
3、 中間件性能監控工具選擇
Tomcat監控工具有很多,如Tomcat自帶的status監控、Lambda Probe,其中Lambda Probe監控項稍微多一些。
4、 JVM性能監控工具選擇
JConsole是JDK自帶的圖形化的性能監控工具,JConsole基於JMX(Java Management Extensions,即Java管理擴展),監控內容主要體現在:線程、CPU、類、VM信息這幾個方面。
VisualVM能監控應用程序的JVM內存使用情況、線程使用情況、CPU使用情況等,還提供了分析功能,能夠對CPU熱點以及內存進行分析,從而幫助定位問題原因。VisualVM有一個很大的優點:不需要被監視的程序基於特殊的Agent運行,因此它對應用程序的實際性能影響很小,這使得它可以直接應用在生產環境中。
三、性能測試的測試流程圖,希望項目相關人員了解性能測試流程,希望得到以下各方人員的配合,謝謝!