`
younglibin
  • 浏览: 1210964 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

TProfiler--001

 
阅读更多

https://github.com/alibaba/TProfiler/wiki/TProfiler%E4%BB%8B%E7%BB%8D%E6%96%87%E6%A1%A3

 

TProfiler是一个可以在生产环境长期使用的性能分析工具.它同时支持剖析和采样两种方式,记录方法执行的时间和次数,生成方法热点 对象创建热点 线程状态分析等数据,为查找系统性能瓶颈提供数据支持.

TProfiler在JVM启动时把时间采集程序注入到字节码中,整个过程无需修改应用源码.运行时会把数据写到日志文件,一般情况下每小时输出的日志小于50M.

业界同类开源产品都不是针对大型Web应用设计的,对性能消耗较大不能长期使用,TProfiler解决了这个问题.目前TProfiler已应用于淘宝的核心Java前端系统.

部署后低峰期对应用响应时间影响20% 高峰期对吞吐量大约有30%的降低(高峰期可以远程关闭此工具)

 

先介绍几个系统性能的名词:

CPU: 不用说了吧

RT: 实时

QPS:QPS每秒查询率(Query Per Second)

LOAD:

 

 

TProfiler日志分析

 

tprofiler.log文件格式说明:

线程ID 线程栈深度 方法ID 方法执行时间

13 2 14558 6

13 2 14554 2

13 3 14576 2

13 4 14567 2

13 2 14554 4

13 2 14556 13

分析sampler log命令: java -cp tprofiler.jar com.taobao.profile.analysis.SamplerLogAnalysis d:/tsampler.log d:/method.log d:/thread.log,会生成method.log和thread.log

method.log文件格式说明:

方法信息 采样过程中方法出现次数

org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428) 19728

org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518) 19728

org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47) 19728

org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51) 17558

thread.log文件格式说明:

线程信息 采样过程中线程出现次数

56 DefaultQuartzScheduler_Worker-3 TIMED_WAITING 661

55 DefaultQuartzScheduler_Worker-2 TIMED_WAITING 661

60 DefaultQuartzScheduler_Worker-7 TIMED_WAITING 661

分析profiler log命令: java -cp tprofiler.jar com.taobao.profile.analysis.ProfilerLogAnalysis d:/tprofiler.log d:/tmethod.log d:/topmethod.log d:/topobject.log,会生成topmethod.log和topobject.log

topmethod.log文件格式说明:

方法信息 执行次数 平均执行时间 全部执行时间

org/apache/velocity/runtime/parser/node/ASTBlock:render:74 38954 28 1101570

org/apache/velocity/runtime/parser/node/SimpleNode:render:338 39202 21 820064

topobject.log文件格式说明:

方法信息 执行次数 平均执行时间 全部执行时间

sketch/compile/parser/node/PropertyExecutor:<init>:32 573 1 636

sketch/util/introspection/UberspectImpl:<init>:282 34 7 241

 

分享到:
评论

相关推荐

    TProfiler-master.zip

    现在我们来看TProfiler-master.zip压缩包中的内容。解压后,我们通常会得到一个包含源代码、文档、示例等资源的项目结构。主要文件夹和文件可能包括: - `src`:存放TProfiler的源代码,分为不同的模块,如核心分析...

    阿里开源工具 TProfiler JVM调优工具TProfiler最新源码

    阿里技术团队官方在 github 公布的最新 TProfiler-master.zip 文件。包含 TProfiler 源码、可执行 tprofiler-1.0.1.jar 文件、默认配置 profile.properties。 关于TProfiler实际用法及其注意事项,请参考博客JVM ...

    JVM调优工具TProfiler最新源码

    截至 20160921 阿里技术团队官方在 github 公布的最新 TProfiler-master.zip 文件。包含 TProfiler 源码、可执行 tprofiler-1.0.1.jar 文件、默认配置 profile.properties。 关于TProfiler实际用法及其注意事项,请...

    TProfiler性能定位工具

    1. **安装与集成**:下载并解压TProfiler-master.zip,根据文档指导集成到项目中,通常需要修改配置文件,添加必要的启动参数。 2. **启动性能监控**:在应用程序启动时开启TProfiler,它会默默地收集性能数据。 3...

    性能分析工具 TProfiler.zip

    - **安装与配置**:下载并解压 TProfiler-master,根据文档配置环境,确保与目标应用程序兼容。 - **启动监控**:连接到目标应用程序,选择合适的分析模式(剖析或采样),启动监控。 - **收集数据**:在运行过程...

    TProfiler_1.0.1

    TProfiler是一个可以在生产环境长期使用的性能分析工具.它同时支持剖析和采样两种方式,记录方法执行的时间和次数,生成方法热点 对象创建热点 线程状态分析等数据,为查找系统性能瓶颈提供数据支持. TProfiler在JVM...

    Android代码-TProfiler

    TProfiler is a code profiling tool. author:shutong.dy@taobao.com Note: TProfiler requires Java6™ VM. Please refer to Wiki for more information: https://github.com/alibaba/TProfiler/wiki The source ...

    Java工程师应用技术汇总

    - **TProfiler**:阿里巴巴开源的性能分析工具,用于JVM应用的性能监控。 - **HouseMD**:故障诊断工具,可以收集各种信息帮助诊断问题。 - **jmxterm**:基于终端的JMX客户端。 - **TBJMap**:分析JVM堆转储文件的...

    底层篇.pdf

    此外,还有btrace和TProfiler等高级诊断工具,以及Arthas等动态诊断框架。 Java内存模型规定了线程间的数据可见性和原子性,遵循happens-before原则,以保证程序的正确执行。synchronized和volatile关键字用于实现...

    Java工程师成神之路~-HollisChuang's Blog1

    在Java工具的使用上,BTrace和TProfiler等工具提供了强大的动态跟踪和分析功能。JMX(Java Management Extensions)则允许远程监控和管理Java应用程序,这对于系统的运维和故障排查非常有用。同时,学习编写各种模拟...

    性能测试工具TProfile代码简析

    https://github.com/taobao/TProfiler&#41;产生了兴趣,于是就下下来研究了一下:非常简单小巧,代码质量也很高,最多20个class。其实现的核心原理就是利用javaAgent,在premain函数中使用java.lang.instrument....

    淘宝前台系统性能分析与优化

    还有WebXProfiler、TProfiler、BTrace、VisualVM等Java相关的分析工具,以及性能分析平台OProfile、Perf和Google-Perftools等。 5. 时间消耗分析与瓶颈查找 在性能分析过程中,时间消耗分析是至关重要的,它有助于...

    下一代规划阿里交易型技术架构研究PPT教案.pptx

    此外,还有Eagleeye用于分布式跟踪,Pandora作为隔离容器解决二方包问题,TDDL作为通用数据访问层,TProfiler进行性能分析等。 3. **运行模型**: 阿里运行模型强调高可用性和稳定性,这包括线上压测、容量规划、...

    Java面试要点(适用于2年以上经验,1年亦可)

    8. 虚拟机性能监控与故障处理工具:jps, jstack, jmap、jstat, jconsole, jinfo, jhat, javap, btrace、TProfiler 基础知识 1. 读取源代码:String、Integer、Long、Enum、BigDecimal、ThreadLocal、ClassLoader &...

    TMS component Pack

    3. 调试工具:TMS提供了一些强大的调试组件,如TProfiler,可以帮助开发者深入分析代码性能,找出潜在的瓶颈问题。 三、性能优化 TMS Component Pack注重性能优化,所有组件都经过精心设计和优化,能够在不影响...

Global site tag (gtag.js) - Google Analytics