市場能力要求:java
一、熟悉Linux、Windows等操做系統、熟悉beanshell腳本mysql
二、熟悉jvm調優、Tomcat調優等基礎策略ios
三、熟悉MySQL數據庫,掌握java、Python等至少一門編程語言web
四、1年獨立性能測試經驗redis
五、熟悉常見的壓測工具:jmetersql
六、熟悉經常使用的分析調優工具,如visualvm、youkit、jps、jstat等shell
七、熟悉性能測試的總體流程、可以經過產品需求、梳理出性能測試點、並給出計劃方案,進行測試分析,並對系統性能瓶頸進行定位及優化分析。數據庫
八、良好的學習能力、溝通能力、團隊協做能力編程
發現性能瓶頸api
負載測試:經過逐步加壓,達到既定的性能閾值的目標。閾值的設定應該是小於等於某個值,如CPU使用率小於等於80%
壓力測試:經過逐步加壓,使得系統的某些資源達到飽和,甚至失效的狀態,也就是在什麼條件下能把系統壓崩潰
併發測試:在同一時間內,多個虛擬用戶同時訪問同一模塊、同一功能,一般的測試方法是設置集合點
容量測試:數據庫,目的是獲取數據庫的最佳容量的能力。具體是在必定的併發用戶,不一樣的基礎數據量,觀察數據庫的處理能力,即獲取數據庫的各項性能指標
可靠性測試:穩定性測試,即系統在高壓狀況下,長時間運行系統是否穩定,如cpu使用率在80%以上,24小時運行,系統是否穩定,會不會有內存溢出。
異常測試:系統架構測試,如在負載均衡架構,要測掛機等狀況的反映
需求分析 - 性能指標指定 - 腳本開發 - 場景設置 - 監控部署 - 測試執行 - 性能分析 - 性能調優 - 測試報告
顯示層:web、Android、ios、H5(圖片(壓縮)、js)
邏輯控制層:api
數據存儲層:mysql、MongoDB、redis(分析sql)
自底向上分析
事務:從客戶端發出一個或多個請求,到客戶端接收從服務器返回的響應。好比銀行取錢。
TPS(Transaction Per Second):每秒鐘系統可以處理的事務數。
請求響應時間:從客戶端發出一個請求開始到接收到服務器返回的響應整個過程花費的時間。
事務響應時間:從用戶角度考慮,整個事務花費的時間(不止一個請求)。
併發:沒有嚴格意義上的併發,併發老是會有前後,是指的一段時間內
1)對同一指令操做
2)對同一系統操做,不一樣的指令
併發用戶數:同一單位時間內(一般是指1s),對系統發出請求的用戶數量。
吞吐量:一次性能測試過程當中網絡上傳輸的數據量的總和,即網絡流量。如:上傳、下載
吞吐率:單位時間內網絡上傳輸的數據量,吞吐率 = 吞吐量 / 傳輸時間
點擊率:每秒用戶向服務器提交的請求數,即每秒鐘用戶總共在頁面上進行的操做數
資源使用率:對不一樣系統資源使用狀況,如cpu、內存、IO等
分析的目的:
一、明確測試指標
二、明確測試場景
1)開發新系統:參考同行業或使用別人現有的系統
2)老系統:對比以往用戶使用行爲及用戶量
此外還須要考慮業務預期,如客戶量的增加