最近聽了一個餓了麼大牛的性能壓測實戰分享,並從中總結了性能壓測後結果分析的一些思路,大體以下,僅供參考哦:
步驟思路:
一、在整個測試場景的執行過程當中,測試環境是否正常
二、測試場景的設置是否正確、合理
三、測試結果是否直接暴露出系統的一些問題數據庫
1)性能分析的基本原則
性能開始出現降低的最直接表象時系統的響應時間變長;
服務器的內存不夠可能會引發較大的磁盤I/O,進而致使CPU利用率居高不下--而根本緣由多是內部存在內存泄漏
2)對於數據庫出現的問題
1.把數據庫分爲Insert、Update、Delete和Select四種操做,分開進行測試
2.把用戶對數據庫的操做組合起來進行測試
3.作一些疲勞或者大數據量測壓力測試
進一步分析,那些接口的訪問量比較大。
a. SQL語句消耗了大量的數據庫時間:
當一些反覆執行的SQL語句效率太低時,首先會形成高速緩存不夠用,隨之引發較大I/O;而頻繁的I/O勢必會消耗大量的CPU。所以整個系統的瓶頸極有多是這個三個語句形成的。
b. 再查看事務平均響應時間(穩定):測試的性能問題主要在程序自己緩存
優化SQL後,再執行測試,查看事務響應等!服務器
測試後的性能調優方案:oracle
應用程序方面:ide