一次性能測試結果排查過程 性能測試工具
一個測試環境受到外部不預期的干擾,性能測試結果將出現不預期的數據,導致分析困難甚至錯誤結論。
最近碰到一個CASE,將一個sevice 插入測試環境的網站應用中,然后對比是否加入這個service的性能影響。
多臺測試機器,每臺機器部署多個應用,所有應用共享一個DB。
系統架構: java + webx+ ibatis+ oracle。
另外,這個service采用幾百K的數據運行速度也在毫秒級別。
呵呵,差點掉到溝溝里 [點擊圖片可在新窗口打開] ,特記錄下。
一、制定測試方案
和service開發的dev 評審測試方案。 沒有和網站應用的架構師核對。
被測服務器 load 已經大于 1 。
二、性能測試執行過程
選取一個post 產品的流程做性能測試腳本。性能測試數據從幾百個byte-幾K.
調整JAVA應用參數與生產環境同。
1)刪除用戶數據
2)刪除日志
3)重啟應用
4)交替執行service上與不上場景.
5)多次執行去性能數據平均值
性能測試選擇在晚上人少時執行。
三、性能測試結果分析
性能測試發現average response time,上與不上service 相差無幾,都是0.13秒左右 。甚至同樣并發數時,上service的response time 比不上service的response time還要低。
其他load <2 ,cpu%約20% ,iowait% <1%,內存充足都相近。這個結果似乎有點解釋不通。
另外比較反常的是:average reponse time圖(非graph average)上偶爾有鋸齒型的到達0.2 甚至0.4的高點,尺度延續時間40多秒。average response time的 std dev(標準方差)約 0.13甚至更高。
經web page break down分析圖片這個數據更加清晰可見。
文章來源于領測軟件測試網 http://www.kjueaiud.com/