本文主要解釋如何搭建perfino監控服務, 用于關注生產環境的性能指標, 提前知道什么時候達到服務器資源瓶頸, 避免資源不足時手忙腳亂~
1. 安裝與部署?
??1. 下載與安裝?
?官網下載?:Perfino 官網 獲取最新版本(支持 Windows/Linux/macOS)。
?安裝方式?:
?本地運行?:直接執行安裝包(如 .exe 或 .sh)。
?容器化部署?:提供 Docker 鏡像(推薦)
??2. 啟動 Perfino Server?
- 默認端口:
?8080?
(Web UI)和?8849?
(Agent 通信端口)。
啟動命令:
# Linux/macOS
./bin/perfino-server.sh start# Windows
bin\perfino-server.bat
- 訪問 Web 控制臺:
http://localhost:8080
- 默認用戶名:
admin
- 密碼:
admin
?2. 配置 Java 應用監控?
1. 添加 Agent 到 Java 應用?
在目標 Java 應用的啟動參數中添加 Perfino Agent:
java -javaagent:/path/to/perfino-agent.jar -Dperfino.agent.name=MyApp -jar your-application.jar
?關鍵參數?:
-javaagent
:指定 Agent JAR 路徑-Dperfino.agent.name
:設置應用名稱(用于在控制臺標識)
?遠程監控?:若 Perfino Server 不在本地,需添加:
-Dperfino.server.host=your-server-ip -Dperfino.server.port=8849
2. 驗證 Agent 連接?
在 Perfino Web 控制臺
的 ?Agents?
頁面查看是否出現你的應用。
如果未顯示,檢查:
網絡連通性(防火墻是否放行 8849 端口)。
Agent 日志(默認輸出到 perfino-agent.log)。
?3. 核心功能使用?
1. 儀表盤(Dashboard)??
?實時監控?:查看 CPU、內存、線程、GC 等關鍵指標。
?基線對比?:自動生成性能基線,異常時觸發告警。
https://www.perfino.com/images/dashboard.png
2. 方法級性能分析?
?CPU Profiling?:
進入 ?Profiling? 標簽頁。
選擇采樣間隔(默認 1 秒,低開銷)。
分析熱點方法(支持過濾包名/類名)。
?內存分析?:
監控堆內存使用趨勢。
識別內存泄漏(通過長時間未釋放的對象)。
3. 線程與 I/O 分析?
?線程狀態?:查看阻塞線程、死鎖(需啟用高級配置)。
?SQL/JDBC 監控?:分析慢查詢(需集成數據庫驅動)。
4. 告警配置?
在 ?Alerts? 頁面設置閾值(如 CPU > 90% 持續 5 分鐘)。
支持郵件/Slack 通知。
4. 總結?
Perfino 默認使用低開銷采樣,若需極致性能:
-Dperfino.profiling.sampling.interval=3000 # 調大采樣間隔(毫秒)
?* 適用場景?:生產環境長期監控、自動基線分析、低開銷性能追蹤。
- ?優勢?:對運維友好,支持自動化告警和趨勢分析。
?* 局限?:不適合深度方法級調試(需結合 JProfiler/Arthas)。