性能測試技能樹
- 2019 年 10 月 7 日
- 筆記
基礎: 完整的性能測試流程 需求-計劃-方案-環境搭建-用例設計-數據準備-場景設計-腳本開發-腳本執行-結果分析-問題回饋-性能調優-結果報告 性能指標 TPS,QPS,RPS,HPS,RT,VU,ERROR 測試類型 壓力測試,負載測試,並發測試,spike測試,穩定性測試,破壞性測試,驗收測試 工具:
jmeter工作原理 常用的元件,插件 jmeter如何設計腳本(執行緒組,各種請求,定時器,參數化,關聯,斷言) jmeter測試報告 jmete設計典型性能測試場景
其它工具 wrk,ab,httpload,webbench,siege 伺服器/中間件 JVM原理和配置、堆棧原理、GC原理、FullGc,OOM Tomcat配置、使用方法、啟動參數配置 Nginx配置、使用方法 Dubbo服務註冊、消息隊列 伺服器硬體資源 cpu,磁碟,網路,記憶體,load和利用率,IO讀寫,發包率丟包率 linux性能監聽命令 lscpu,uptime,free,vmstat,mpstat,sysstat,netstat,iostat,pidstat,jstack,jmap 資料庫 鎖,索引,讀寫分離,分庫分表,Nosql 執行緒狀態 就緒(Runnable),運行(Running),阻塞(Blocked) 可能的瓶頸點 硬體,中間件,程式,作業系統,網路設備 cpu,記憶體,磁碟,網路,jvm,執行緒池,jdbc連接池 OOM異常資訊 OutOfMemoryError: Java heap space (堆記憶體不夠) OutOfMemoryError: GC overhead limit exceeded (程式碼記憶體過大或死循環) OutOfMemoryError: PermGen space (perm記憶體不夠) OutOfMemoryError: Direct buffer memory (執行緒棧太小) 性能優化方法 使用對象池減少對象創建 增加本地快取 Nosql進行存儲 合併請求 串列改並行 同步改非同步
戳我>>>性能測試實戰分析