效能工具TProfiler介紹文件
阿新 • • 發佈:2018-11-13
工具介紹
TProfiler是一個可以在生產環境長期使用的效能分析工具.它同時支援剖析和取樣兩種方式,記錄方法執行的時間和次數,生成方法熱點 物件建立熱點 執行緒狀態分析等資料,為查詢系統性能瓶頸提供資料支援.
TProfiler在JVM啟動時把時間採集程式注入到位元組碼中,整個過程無需修改應用原始碼.執行時會把資料寫到日誌檔案,一般情況下每小時輸出的日誌小於50M.
業界同類開源產品都不是針對大型Web應用設計的,對效能消耗較大不能長期使用,TProfiler解決了這個問題.目前TProfiler已應用於淘寶的核心Java前端系統.
部署後低峰期對應用響應時間影響20% 高峰期對吞吐量大約有30%的降低(高峰期可以遠端關閉此工具)
同類對比
與同類開源工具jip對比 | ||
---|---|---|
專案 | TProfiler | JIP |
互動控制 |
支援遠端開關和狀態檢視 |
支援遠端開關等多種操作 |
過濾包和類名 |
支援包和類的過濾 |
支援包和類的過濾 |
低消耗 |
響應時間延長20% QPS降低30%(詳細對比看上圖) |
同等條件下資源消耗較多,使JVM不斷的FullGC;Profile時會阻塞其他執行緒 |
無原生代碼 |
未使用JVMTI,純Java開發 |
未使用JVMTI,純Java開發 |
易用性 |
只有一個jar包,使用簡單 |
模組多,配置使用相對複雜 |
日誌檔案 |
對日誌進行優化,每小時一般小於50M |
同等條件下日誌大約是TProfiler的8倍,不能自動dump需要客戶端觸發 |
日誌分析 |
目前只提供文字展示 |
可以利用客戶端分析展示日誌 |
使用場景 |
大型應用/小型應用 長期使用 |
小型應用 短期使用 |
from: https://github.com/alibaba/TProfiler/wiki/TProfiler%E4%BB%8B%E7%BB%8D%E6%96%87%E6%A1%A3