從APM來(lái)看岛请,不單單是java性能架構(gòu)師面臨失業(yè)

之所以寫(xiě)這篇技術(shù)文章旭寿,是因?yàn)檫@兩天發(fā)現(xiàn)了一些感覺(jué)很牛逼的東西,本著分享的態(tài)度崇败,跟大家一起交流一下盅称,如果高手,那么我們多交流后室,如果是小輩缩膝,可以進(jìn)行深入學(xué)習(xí)。

記得以前在阿里做研發(fā)的時(shí)候岸霹,需要應(yīng)對(duì)雙11的大流量訪問(wèn)疾层,保證付款環(huán)節(jié)的穩(wěn)定性,經(jīng)歷過(guò)兩個(gè)迭代的性能優(yōu)化贡避,當(dāng)然更多的是進(jìn)行業(yè)務(wù)層面的優(yōu)化痛黎,通過(guò)緩存予弧,多線程,縮短程序執(zhí)行路徑湖饱,增加上下文桌肴,服務(wù)降級(jí),資源開(kāi)關(guān)琉历,SQL調(diào)優(yōu)等坠七,當(dāng)時(shí)用到過(guò)一個(gè)工具叫TProfiler,來(lái)查看方法耗時(shí)的旗笔,可以具體到每一個(gè)get,set方法的耗時(shí)彪置,當(dāng)然可以通過(guò)設(shè)置包路徑,來(lái)過(guò)濾不必要的耗時(shí)信息蝇恶,TProfiler是淘寶自研的性能監(jiān)控工具拳魁,源碼地址:http://code.taobao.org/p/tprofiler/wiki/index/ ,大家可以查看撮弧,整個(gè)過(guò)程是 在JVM啟動(dòng)時(shí)把時(shí)間采集程序注入到字節(jié)碼中,整個(gè)過(guò)程無(wú)需修改應(yīng)用源碼.運(yùn)行時(shí)會(huì)把數(shù)據(jù)寫(xiě)到日志文件潘懊,工程師通過(guò)查看日志,來(lái)斷言一些很耗時(shí)的方法體贿衍,并進(jìn)行性能優(yōu)化授舟。

接下來(lái)我再來(lái)講一下什么是APM,對(duì)于APM贸辈,其實(shí)之前我也不是很清楚释树,壓根沒(méi)聽(tīng)說(shuō)過(guò),也是前兩天擎淤,晚上再阿里云市場(chǎng)上瀏覽SAAS中間件的時(shí)候奢啥,偶然發(fā)現(xiàn)的,當(dāng)時(shí)發(fā)現(xiàn)有一個(gè)中間件嘴拢,當(dāng)然好奇之心讓我對(duì)于他們宣揚(yáng)的“實(shí)時(shí)抓取緩慢的程度和SQL語(yǔ)句”必須要一探究竟桩盲,于是,我就去官網(wǎng)? https://www.oneapm.com/ 想進(jìn)行一次試用席吴,中文名叫:藍(lán)海訊通赌结,布署其實(shí)非常簡(jiǎn)單,只需要下載一個(gè)文件OneAPM抢腐,將這個(gè)文件夾放到tomcat根本錄姑曙,然后修改oneapm.properties文件襟交,將獲取到的試用key值填進(jìn)去就可迈倍,這個(gè)是必須要填的,要不然人家怎么去管控你捣域,填完之后啼染,使用java -jar oneapm.jar install宴合,將這個(gè)jar包安裝一下,這個(gè)命令主要會(huì)去修改你的 catalina.sh文件迹鹅,增加兩行命令卦洽,啟動(dòng)的時(shí)候,會(huì)去將這個(gè)jar包裝載到j(luò)vm里面斜棚,原理根TProfiler應(yīng)當(dāng)差不多阀蒂,通過(guò)值入字節(jié)碼去采集日志信息,接下來(lái)重啟就可以了弟蚀。 ? 等五分鐘蚤霞,登錄到www.oneapm.com點(diǎn)擊AI查看即可。 下來(lái)我貼幾張圖义钉,供大家觀看

下圖就是AI的主頁(yè)面昧绣,差不多5分鐘內(nèi)會(huì)將數(shù)據(jù)上報(bào)到oneapm的服務(wù)器,我們就可以很清楚的看到每個(gè)請(qǐng)求的API的耗時(shí)情況


那么我們點(diǎn)擊一個(gè)事務(wù)進(jìn)去看一下究竟捶闸,在后臺(tái)任務(wù)響應(yīng)時(shí)間里面夜畴,有很詳細(xì)的本次請(qǐng)求里,每個(gè)方法的執(zhí)行耗時(shí)

那么如果能知道拓?fù)鋱D删壮,那就更好了贪绘,見(jiàn)下圖,本次請(qǐng)求央碟,有該問(wèn)外網(wǎng)兔簇,redis, database

光知道拓?fù)淇隙ú贿^(guò)癮,沒(méi)關(guān)系硬耍,繼續(xù)往下看垄琐,可以很清晰的知道,請(qǐng)求redis的set,sadd,get,del的調(diào)用次數(shù)经柴,耗時(shí)都有狸窘。

本文寫(xiě)到這里,肯定沒(méi)完坯认,APM縮寫(xiě)是? Application Performance Management & Monitoring翻擒,應(yīng)用程序的性能服務(wù)管理和監(jiān)控,興奮之余牛哺,準(zhǔn)備布署到我們集群開(kāi)始使用陋气,正好性能優(yōu)化可以用上,問(wèn)題是云版的SAAS ?oneapm引润,每個(gè)月一個(gè)jvm 999元巩趁,作為合格的程序員,本著能開(kāi)源絕不掏錢的思路淳附,就有了下面的篇幅议慰。

在官網(wǎng)上發(fā)現(xiàn)其合作伙伴有美團(tuán)云


馬上讓我同學(xué)聯(lián)系了美團(tuán)云的同學(xué)的了解使用情況蠢古,得到了其實(shí)APM國(guó)外很早之前就有公司在做了,有一個(gè)叫new relic再做别凹,百度了一下草讶,蟬游記團(tuán)隊(duì)也在一年前推薦過(guò),官網(wǎng):https://newrelic.com ? 大家可以去注冊(cè)炉菲,下載堕战,布署方式跟oneapm是完全一樣的,安裝過(guò)程我就不一一講了拍霜,挺簡(jiǎn)單的践啄。

差不多15分鐘吧,就整完了沉御,主要還需要VPN屿讽,稍慢一點(diǎn),要不然5分鐘都不需要吠裆。

環(huán)境打通后伐谈,記得那個(gè)key,一定要修改newrelic.yml ?這個(gè)文件试疙,key變一下诵棵,重啟就可以了。

等5分鐘進(jìn)行數(shù)據(jù)上報(bào)吧祝旷,刷一下頁(yè)面有了履澳,My Application就是我的應(yīng)用


點(diǎn)擊My Application,大家其實(shí)可以看一下怀跛,跟oneapm其實(shí)差不多距贷,耗時(shí),事務(wù)都有吻谋,還有用戶滿意度apdex score忠蝗,這個(gè)需要自定義一些參數(shù),這樣apm就會(huì)按照算法給出得分


點(diǎn)擊具體的一個(gè)方法漓拾,進(jìn)行阁最,看一下詳情,在詳情面骇两,我們可以看到吞吐量速种,以及這個(gè)API對(duì)調(diào)用的方法,DB的耗時(shí)趨勢(shì)圖低千,這個(gè)就比TProfiler方便多了配阵,TProfiler得人肉看日志

這個(gè)是DB和redis的耗時(shí)情況,以及占比

那么所有的DB耗時(shí)的整體情況趨勢(shì)也是可以看到的

這個(gè)是redis的

JVM層面肯定是少不了的,堆內(nèi)存闸餐,新生代饱亮,老年代都是可以查看的

線程池矾芙,以及線程數(shù)

數(shù)據(jù)報(bào)告

當(dāng)然舍沙,啟動(dòng)參數(shù),以及所有的jar包剔宪,以及jar包版本拂铡,都是一覽無(wú)余

這其實(shí)也只是APM的一個(gè)功能,針對(duì)server端進(jìn)行的監(jiān)控葱绒,還有針對(duì)客戶端感帅,針對(duì)web前端功能都是你想象不到的細(xì)粒度。

另外很重要的一點(diǎn)就是地淀,newrelic目前是免費(fèi)的J颉!帮毁!实苞,工欲善其事,必先利其器烈疚,有了這個(gè)神器黔牵,系統(tǒng)的性能耗時(shí),一個(gè)普通的工程師稍加指導(dǎo)其實(shí)就可以進(jìn)行性能優(yōu)化了爷肝,newrelic不單單支持java猾浦,php,ruby等等都可以布署使用。

還有很多好玩的一些技術(shù)灯抛,篇幅有限金赦,等下次再跟大家分享吧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末对嚼,一起剝皮案震驚了整個(gè)濱河市素邪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌猪半,老刑警劉巖兔朦,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異磨确,居然都是意外死亡沽甥,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門乏奥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)摆舟,“玉大人,你說(shuō)我怎么就攤上這事『抻眨” “怎么了媳瞪?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)照宝。 經(jīng)常有香客問(wèn)我蛇受,道長(zhǎng),這世上最難降的妖魔是什么厕鹃? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任兢仰,我火速辦了婚禮,結(jié)果婚禮上剂碴,老公的妹妹穿的比我還像新娘把将。我一直安慰自己,他們只是感情好忆矛,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布察蹲。 她就那樣靜靜地躺著,像睡著了一般催训。 火紅的嫁衣襯著肌膚如雪洽议。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,760評(píng)論 1 289
  • 那天瞳腌,我揣著相機(jī)與錄音绞铃,去河邊找鬼。 笑死嫂侍,一個(gè)胖子當(dāng)著我的面吹牛儿捧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播挑宠,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼菲盾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了各淀?” 一聲冷哼從身側(cè)響起懒鉴,我...
    開(kāi)封第一講書(shū)人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碎浇,沒(méi)想到半個(gè)月后临谱,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡奴璃,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年悉默,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苟穆。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡抄课,死狀恐怖唱星,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情跟磨,我是刑警寧澤间聊,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站抵拘,受9級(jí)特大地震影響哎榴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜仑濒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一叹话、第九天 我趴在偏房一處隱蔽的房頂上張望偷遗。 院中可真熱鬧墩瞳,春花似錦、人聲如沸氏豌。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)泵喘。三九已至泪电,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間纪铺,已是汗流浹背相速。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鲜锚,地道東北人突诬。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像芜繁,于是被迫代替她去往敵國(guó)和親旺隙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 作為 Zabbix 骨灰級(jí)粉絲骏令,一直以來(lái)對(duì)第三方監(jiān)控(APM)都是拒絕的蔬捷。一來(lái)覺(jué)得收費(fèi),二來(lái)?yè)?dān)心數(shù)據(jù)被人所知榔袋,三來(lái)...
    OneAPM閱讀 1,488評(píng)論 1 3
  • 一周拐、需求 Tomcat:(1)模塊啟動(dòng)時(shí)間(2)模塊交互耗時(shí) 二、現(xiàn)狀 現(xiàn)代APM體系凰兑,基本都是參考Google的...
    hello2mao閱讀 3,055評(píng)論 0 2
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理妥粟,服務(wù)發(fā)現(xiàn),斷路器聪黎,智...
    卡卡羅2017閱讀 134,628評(píng)論 18 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,743評(píng)論 25 707
  • 有一則故事講述一個(gè)主子和他的書(shū)童匆忙趕路罕容,書(shū)童挑著裝滿書(shū)的重?fù)?dān)备恤,此時(shí)已近黃昏了,他們問(wèn)附近的一位老者锦秒,現(xiàn)在還來(lái)不來(lái)...
    心有所愿閱讀 422評(píng)論 0 1