如何搭建perfino监控(分析java服务性能)
本文主要解释如何搭建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)。