服務端的應用情況,看是否有異常
響應時間、吞吐量等指標
系統資源監控,linux下可以采用的工具有:vmstat、top、meminfo等。
JVM的監控,可以用jprofiler工具,linux下面的jmap、jhat等。
響應時間、吞吐量等,由grinder提供。
上述這些信息,一般在測試結束后,均需要歸檔整理,已備后續詳細分析
我們自己開發一套腳本,用于以固定的頻率獲取測試客戶端和服務器的vmstat和top輸出、grinder的log,并從中截取有用信息保存,用于事后分析。
每次測試運行完以后,肯定會增加很多數據,需要考慮本次執行對數據量的影響,如果數據量的變化對后續測試會有影響,則需要清理數據。
性能測試步驟(五)——測試分析
測試分析一般跟測試監控息息相關,在測試執行的過程中,用各種監控工具能看到系統運行的狀態,并及時發現問題。
常見的問題有:內存問題、有限資源競爭問題。
內存問題
從top中看tomcat的內存占用,這個是不準的,需要用專門的內存分析工具來查看。
工具:jmap,jhat,jstat,可以得到內存快照,得到堆內存的詳細信息。
垃圾收集配置會影響系統性能,如果內存塊生成和銷毀量很大,則能看到系統吞吐量隨垃圾收集呈現周期性的變化。
從理論上來說,JAVA會出現內存泄漏的情況,不過我們在被測試的應用中還沒有發現過這種情況。
但是,在某些系統架構下,內存會成為瓶頸問題。比如我們曾經測試過聊天系統,每個長連接需要占用5M內存,那么,一臺10G內存的服務器只能保持2000個長連接。
共享資源競爭問題
有限資源的競爭有很多,比如Service層的一個共享對象,比如數據庫連接,比如數據庫中的某一個使用頻率很高的數據表。
一個共享資源在一個時間點上,只能被一個線程獲得,其他線程必須等待,這就容易造成很多線程的timed wait狀態。通過jprofiler工具,能夠得到線程快照,并分析改進方法。
文章來源于領測軟件測試網 http://www.kjueaiud.com/