MyPerf4J安装、配置可视化页面
一个针对高并发、低延迟应用设计的高性能 Java 性能监控和统计工具。 MyPerf4J 采用 JavaAgent 配置方式,透明化接入应用,对应用代码完全没有侵入。
一、特性
高性能: 单线程支持每秒 1000 万次 响应时间的记录,每次记录只花费 73 纳秒
无侵入: 采用 JavaAgent 方式,对应用程序完全无侵入,无需修改应用代码
低内存: 采用内存复用的方式,整个生命周期只产生极少的临时对象,不影响应用程序的 GC
高精度: 采用纳秒来计算响应时间
高实时: 支持秒级监控,最低 1 秒
二、使用场景
在开发环境中快速定位 Java 应用程序的性能瓶颈
在生产环境中长期监控 Java 应用程序的性能指标
三、安装
1. 打包
如果你使用的是JDK7或者更高版本,可以尝试直接下载MyPerf4J-ASM.jar 可以忽略打包步骤
git clone git@github.com:LinShunKang/MyPerf4J.git
mvn clean package
把 /MyPerf4J-develop/MyPerf4J-ASM/target/MyPerf4J-ASM-${MyPerf4J-version}.jar 重命名为 MyPerf4J-ASM.jar
2. 配置
FlowProcessAgent配置文件:
#应用名称
AppName=FlowProcessAgent
#MetricsProcessor类型,0:以标准格式化结构输出到stdout.log 1:以标准格式化结构输出到磁盘 2:以InfluxDB LineProtocol格式输出到磁盘
MetricsProcessorType=2
#配置各个Metrics日志的文件路径,可不配置
MethodMetricsFile=/home/lwenhao/MyPerf4J/FlowProcessAgent/logs/method_metrics.log
ClassMetricsFile=/home/lwenhao/MyPerf4J/FlowProcessAgent/logs/class_metrics.log
GCMetricsFile=/home/lwenhao/MyPerf4J/FlowProcessAgent/logs/gc_metrics.log
MemMetricsFile=/home/lwenhao/MyPerf4J/FlowProcessAgent/logs/memory_metrics.log
BufPoolMetricsFile=/home/lwenhao/MyPerf4J/FlowProcessAgent/logs/buf_pool_metrics
ThreadMetricsFile=/home/lwenhao/MyPerf4J/FlowProcessAgent/logs/thread_metrics.log
#配置Record模式,可配置为accurate/rough
RecorderMode=accurate
#配置时间片,单位为ms,最小1s,最大600s
MilliTimeSlice=1000
#需要监控的package,可配置多个,用英文';'分隔
IncludePackages=quaqu.*
#是否展示方法参数类型
ShowMethodParams=true
#配置通用的方法响应时间阈值,单位为 ms
ProfilingTimeThreshold = 1
注意:使用Windows系统的,请修改路径格式。
在 JVM 启动参数里加上以下两个参数:
-javaagent:/your/path/to/MyPerf4J-ASM.jar
-DMyPerf4JPropFile=/your/path/to/myPerf4J.properties
例如: java -javaagent:/home/lwenhao/MyPerf4J/FlowProcessAgent/MyPerf4J-ASM.jar -DMyPerf4JPropFile=/home/lwenhao/MyPerf4J/FlowProcessAgent/FlowProcessAgent -jar FlowProcessAgent.jar
四、配置InfluxDB
MyPerf4J 默认支持使用 InfluxDB 进行数据存储
MyPerf4J 向用户指定的日志文件中写入 LineProtocol 格式的性能统计数据
通过日志收集器 Telegraf 从日志文件中读取数据并导入 InfluxDB 中。 具体步骤如下:
配置 MetricsProcessorType=2
InfluxDB
安装 InfluxDB
启动 InfluxDB
1.安装 InfluxDB