从APM来看,不单单是java性能架构师面临失业

之所以写这篇技术文章,是因为这两天发现了一些感觉很牛逼的东西,本着分享的态度,跟大家一起交流一下,如果高手,那么我们多交流,如果是小辈,可以进行深入学习。

记得以前在阿里做研发的时候,需要应对双11的大流量访问,保证付款环节的稳定性,经历过两个迭代的性能优化,当然更多的是进行业务层面的优化,通过缓存,多线程,缩短程序执行路径,增加上下文,服务降级,资源开关,SQL调优等,当时用到过一个工具叫TProfiler,来查看方法耗时的,可以具体到每一个get,set方法的耗时,当然可以通过设置包路径,来过滤不必要的耗时信息,TProfiler是淘宝自研的性能监控工具,源码地址:http://code.taobao.org/p/tprofiler/wiki/index/ ,大家可以查看,整个过程是 在JVM启动时把时间采集程序注入到字节码中,整个过程无需修改应用源码.运行时会把数据写到日志文件,工程师通过查看日志,来断言一些很耗时的方法体,并进行性能优化。

接下来我再来讲一下什么是APM,对于APM,其实之前我也不是很清楚,压根没听说过,也是前两天,晚上再阿里云市场上浏览SAAS中间件的时候,偶然发现的,当时发现有一个中间件,当然好奇之心让我对于他们宣扬的“实时抓取缓慢的程度和SQL语句”必须要一探究竟,于是,我就去官网  https://www.oneapm.com/ 想进行一次试用,中文名叫:蓝海讯通,布署其实非常简单,只需要下载一个文件OneAPM,将这个文件夹放到tomcat根本录,然后修改oneapm.properties文件,将获取到的试用key值填进去就可,这个是必须要填的,要不然人家怎么去管控你,填完之后,使用java -jar oneapm.jar install,将这个jar包安装一下,这个命令主要会去修改你的 catalina.sh文件,增加两行命令,启动的时候,会去将这个jar包装载到jvm里面,原理根TProfiler应当差不多,通过值入字节码去采集日志信息,接下来重启就可以了。   等五分钟,登录到www.oneapm.com点击AI查看即可。 下来我贴几张图,供大家观看

下图就是AI的主页面,差不多5分钟内会将数据上报到oneapm的服务器,我们就可以很清楚的看到每个请求的API的耗时情况


那么我们点击一个事务进去看一下究竟,在后台任务响应时间里面,有很详细的本次请求里,每个方法的执行耗时

那么如果能知道拓扑图,那就更好了,见下图,本次请求,有该问外网,redis, database

光知道拓扑肯定不过瘾,没关系,继续往下看,可以很清晰的知道,请求redis的set,sadd,get,del的调用次数,耗时都有。

本文写到这里,肯定没完,APM缩写是  Application Performance Management & Monitoring,应用程序的性能服务管理和监控,兴奋之余,准备布署到我们集群开始使用,正好性能优化可以用上,问题是云版的SAAS  oneapm,每个月一个jvm 999元,作为合格的程序员,本着能开源绝不掏钱的思路,就有了下面的篇幅。

在官网上发现其合作伙伴有美团云


马上让我同学联系了美团云的同学的了解使用情况,得到了其实APM国外很早之前就有公司在做了,有一个叫new relic再做,百度了一下,蝉游记团队也在一年前推荐过,官网:https://newrelic.com   大家可以去注册,下载,布署方式跟oneapm是完全一样的,安装过程我就不一一讲了,挺简单的。

差不多15分钟吧,就整完了,主要还需要VPN,稍慢一点,要不然5分钟都不需要。

环境打通后,记得那个key,一定要修改newrelic.yml  这个文件,key变一下,重启就可以了。

等5分钟进行数据上报吧,刷一下页面有了,My Application就是我的应用


点击My Application,大家其实可以看一下,跟oneapm其实差不多,耗时,事务都有,还有用户满意度apdex score,这个需要自定义一些参数,这样apm就会按照算法给出得分


点击具体的一个方法,进行,看一下详情,在详情面,我们可以看到吞吐量,以及这个API对调用的方法,DB的耗时趋势图,这个就比TProfiler方便多了,TProfiler得人肉看日志

这个是DB和redis的耗时情况,以及占比

那么所有的DB耗时的整体情况趋势也是可以看到的

这个是redis的

JVM层面肯定是少不了的,堆内存,新生代,老年代都是可以查看的

线程池,以及线程数

数据报告

当然,启动参数,以及所有的jar包,以及jar包版本,都是一览无余

这其实也只是APM的一个功能,针对server端进行的监控,还有针对客户端,针对web前端功能都是你想象不到的细粒度。

另外很重要的一点就是,newrelic目前是免费的!!!,工欲善其事,必先利其器,有了这个神器,系统的性能耗时,一个普通的工程师稍加指导其实就可以进行性能优化了,newrelic不单单支持java,php,ruby等等都可以布署使用。

还有很多好玩的一些技术,篇幅有限,等下次再跟大家分享吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容

  • 作为 Zabbix 骨灰级粉丝,一直以来对第三方监控(APM)都是拒绝的。一来觉得收费,二来担心数据被人所知,三来...
    OneAPM阅读 1,488评论 1 3
  • 一、需求 Tomcat:(1)模块启动时间(2)模块交互耗时 二、现状 现代APM体系,基本都是参考Google的...
    hello2mao阅读 3,055评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,594评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,428评论 25 707
  • 有一则故事讲述一个主子和他的书童匆忙赶路,书童挑着装满书的重担,此时已近黄昏了,他们问附近的一位老者,现在还来不来...
    心有所愿阅读 417评论 0 1