性能工具TProfiler介绍文档
2024-08-29 06:03:53
工具介绍
TProfiler是一个可以在生产环境长期使用的性能分析工具.它同时支持剖析和采样两种方式,记录方法执行的时间和次数,生成方法热点 对象创建热点 线程状态分析等数据,为查找系统性能瓶颈提供数据支持.
TProfiler在JVM启动时把时间采集程序注入到字节码中,整个过程无需修改应用源码.运行时会把数据写到日志文件,一般情况下每小时输出的日志小于50M.
业界同类开源产品都不是针对大型Web应用设计的,对性能消耗较大不能长期使用,TProfiler解决了这个问题.目前TProfiler已应用于淘宝的核心Java前端系统.
部署后低峰期对应用响应时间影响20% 高峰期对吞吐量大约有30%的降低(高峰期可以远程关闭此工具)
同类对比
与同类开源工具jip对比 | ||
---|---|---|
项目 | TProfiler | JIP |
交互控制 |
支持远程开关和状态查看 |
支持远程开关等多种操作 |
过滤包和类名 |
支持包和类的过滤 |
支持包和类的过滤 |
低消耗 |
响应时间延长20% QPS降低30%(详细对比看上图) |
同等条件下资源消耗较多,使JVM不断的FullGC;Profile时会阻塞其他线程 |
无本地代码 |
未使用JVMTI,纯Java开发 |
未使用JVMTI,纯Java开发 |
易用性 |
只有一个jar包,使用简单 |
模块多,配置使用相对复杂 |
日志文件 |
对日志进行优化,每小时一般小于50M |
同等条件下日志大约是TProfiler的8倍,不能自动dump需要客户端触发 |
日志分析 |
目前只提供文本展示 |
可以利用客户端分析展示日志 |
使用场景 |
大型应用/小型应用 长期使用 |
小型应用 短期使用 |
from: https://github.com/alibaba/TProfiler/wiki/TProfiler%E4%BB%8B%E7%BB%8D%E6%96%87%E6%A1%A3
最新文章
- Struts学习总结-04 上传文件
- 关于如何在MFC工程中输入不同的数据进行调试
- js获取单选框里面的值
- 基于TCP协议的网络通信
- JavaScript:exec()方法的用法及说明
- 利用ASP.NET MVC源代码调试你的应用程序[转]
- 一步步学习NHibernate(4)——多对一,一对多,懒加载(1)
- STM32学习内容和计划
- QQ聊天界面的布局和设计(IOS篇)-第二季
- java中Log4J的使用笔记
- ASP.NET MVC 音乐商店 - 目录
- 设计模式(三)-- 适配器模式(Adapter)
- 配置linux实现路由功能
- 初识 systemd
- C/C++创建多级目录
- emacs Can't guess python-indent-offset, using defaults: 4
- MySQL数据库char与varchar的区别分析及使用建议
- php curl post josn + header
- 2156: 中南大学2018年ACM暑期集训前期训练题集(入门题) D: 机器人的指令
- python基础之列表list元组tuple
热门文章
- 文件上传实现ajax假异步
- PHP-5.6.22安装
- 字符串aaaa......bbbb....ccc...dddddd用正则替换为abcd
- Laravel通过Swoole提升性能
- netcore 配置文件使用
- loadrunner测试TCP协议服务器性能
- 将字符串顺序重新排序DOM节点
- JAX-WS文章汇总
- 安装Windows渗透环境工具--PentestBox
- Xamarin 中Visual Studio创建项目提示错误