Skip to content

TProfiler介绍文档

jlusdy edited this page Apr 17, 2012 · 9 revisions

介绍

TProfiler是一个可以在生产环境长期使用的性能分析工具.它同时支持剖析和采样两种方式,记录方法执行的时间和次数,生成方法热点 对象创建热点 线程状态分析等数据,为查找系统性能瓶颈提供数据支持. TProfiler在JVM启动时把时间采集程序注入到字节码中,整个过程无需修改应用源码.运行时会把数据写到日志文件,一般情况下每小时输出的日志小于50M. 业界同类开源产品都不是针对大型Web应用设计的,对性能消耗较大不能长期使用,TProfiler解决了这个问题.目前TProfiler已应用于淘宝的核心Java前端系统.

对比

与JIP对比

{| width="96%" cellspacing="1" cellpadding="3" border="1" style="margin: 0px auto; border-collapse: collapse;" |- ! colspan="3" | 与开源Profile工具jip对比 |- ! 项目 ! TProfiler ! JIP |- | 交互控制

| 支持远程开关和状态查看

| 支持远程开关等多种操作

|- | 过滤包和类名

| 支持包和类的过滤

| 支持包和类的过滤

|- | 低消耗

| 响应时间延长20% QPS降低30%(详细对比看上图)

| 同等条件下资源消耗较多,使JVM不断的FullGC;Profile时会阻塞其他线程

|- | 无本地代码

| 未使用JVMTI,纯Java开发

| 未使用JVMTI,纯Java开发

|- | 易用性

| 只有一个jar包,使用简单

| 模块多,配置使用相对复杂

|- | 日志文件

| 对日志进行优化,每小时一般小于50M

| 同等条件下日志大约是TProfiler的8倍,不能自动dump需要客户端触发

|- | 日志分析

| 目前只提供文本展示

|

可以利用客户端分析展示日志

| 使用场景

| 大型应用/小型应用 长期使用

| 小型应用 短期使用

|}

Clone this wiki locally