ARMS如何診斷Java應(yīng)用卡頓問(wèn)題

本篇文章為大家展示了ARMS如何診斷Java應(yīng)用卡頓問(wèn)題,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司是一家以網(wǎng)絡(luò)技術(shù)公司,為中小企業(yè)提供網(wǎng)站維護(hù)、網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)站備案、服務(wù)器租用、域名申請(qǐng)、軟件開(kāi)發(fā)、小程序定制開(kāi)發(fā)等企業(yè)互聯(lián)網(wǎng)相關(guān)業(yè)務(wù),是一家有著豐富的互聯(lián)網(wǎng)運(yùn)營(yíng)推廣經(jīng)驗(yàn)的科技公司,有著多年的網(wǎng)站建站經(jīng)驗(yàn),致力于幫助中小企業(yè)在互聯(lián)網(wǎng)讓打出自已的品牌和口碑,讓企業(yè)在互聯(lián)網(wǎng)上打開(kāi)一個(gè)面向全國(guó)乃至全球的業(yè)務(wù)窗口:建站聯(lián)系電話(huà):18980820575

據(jù)相關(guān)研究表明:當(dāng)頁(yè)面加載時(shí)間從 1 秒到 3 秒,跳出的機(jī)會(huì)增加了30%左右。1s到5s的機(jī)會(huì)增加到90%,如果你的網(wǎng)站需要10s的加載,跳出的機(jī)會(huì)將會(huì)超過(guò)120%。(這里的120%不是指來(lái)10個(gè)人,走12個(gè)人,是用戶(hù)流失增長(zhǎng)率的意思)所以,在這個(gè)“用戶(hù)體驗(yàn)為王”的時(shí)代,應(yīng)用性能監(jiān)控已經(jīng)成為運(yùn)維管理的重中之重。

一、查找導(dǎo)致 “慢” 的原因。

網(wǎng)站卡頓、頁(yè)面加載慢是互聯(lián)網(wǎng)應(yīng)用常見(jiàn)的問(wèn)題之一,這類(lèi)問(wèn)題的排查和解決并不容易,會(huì)花費(fèi)運(yùn)維人員大量的時(shí)間和精力。通常原因有以下三個(gè):

? 應(yīng)用鏈路太長(zhǎng),無(wú)從下手。

從前端頁(yè)面到后臺(tái)網(wǎng)關(guān),從Web應(yīng)用服務(wù)器到后臺(tái)數(shù)據(jù)庫(kù),任何一個(gè)環(huán)節(jié)的問(wèn)題都有可能導(dǎo)致請(qǐng)求整體卡頓,到底是前端資源加載過(guò)慢?還是數(shù)據(jù)庫(kù)出了問(wèn)題?還是新發(fā)布的服務(wù)端代碼有性能問(wèn)題?出現(xiàn)問(wèn)題的原因五花八門(mén)。

采用“微服務(wù)”架構(gòu)的應(yīng)用,鏈路更加復(fù)雜。不同組件可能由不同的團(tuán)隊(duì)、人員分別維護(hù),加劇了問(wèn)題排查的難度。

? 日志不全或質(zhì)量欠佳,現(xiàn)場(chǎng)缺失。

應(yīng)用日志無(wú)疑是排查線(xiàn)上問(wèn)題的神器,但出現(xiàn)問(wèn)題的位置往往無(wú)法預(yù)期,發(fā)生了問(wèn)題通常會(huì)發(fā)現(xiàn)日志信息不全,因?yàn)槲覀儾豢赡茉诿恳粋€(gè)有可能出現(xiàn)問(wèn)題的地方打印日志。

“慢”的定義偏主觀,“慢”有時(shí)候往往也是偶發(fā)現(xiàn)象。真正要捕捉到“慢”的那一行代碼,我們往往需要記錄每一次調(diào)用,不放過(guò)每一行代碼,但這樣的做法代價(jià)太大。

? 監(jiān)控不足,出現(xiàn)問(wèn)題為時(shí)已晚。

業(yè)務(wù)發(fā)展快、迭代速度更快,會(huì)導(dǎo)致業(yè)務(wù)系統(tǒng)頻繁修改接口、增加依賴(lài)、代碼質(zhì)量惡化。如果沒(méi)有一個(gè)完善的監(jiān)控體系,能夠?qū)?yīng)用的每一個(gè)接口的性能進(jìn)行全自動(dòng)的監(jiān)控,對(duì)出現(xiàn)問(wèn)題的調(diào)用進(jìn)行自動(dòng)的記錄,等用戶(hù)反饋問(wèn)題再來(lái)解決,本身就已經(jīng)太遲了。

二、如何 1 分鐘定位 “慢” 問(wèn)題

業(yè)務(wù)實(shí)時(shí)監(jiān)控服務(wù) ARMS(Application Real-Time MonitoringService)是一款阿里云應(yīng)用性能管理(APM)類(lèi)的全鏈路監(jiān)控產(chǎn)品。ARMS提供了針對(duì)Java 應(yīng)用監(jiān)控和診斷、車(chē)聯(lián)網(wǎng)實(shí)時(shí)監(jiān)控、零售行業(yè)實(shí)時(shí)監(jiān)控、用戶(hù)體驗(yàn)監(jiān)控等場(chǎng)景下全方位的監(jiān)控功能,包括前端監(jiān)控、應(yīng)用監(jiān)控和自定義監(jiān)控等功能,快速構(gòu)建實(shí)時(shí)的業(yè)務(wù)監(jiān)控能力。

第一步:安裝Java探針(如果您的應(yīng)用托管于EDAS,甚至可以跳過(guò)這一步 )

  • 開(kāi)通ARMS,并創(chuàng)建應(yīng)用。

  • 下載Java探針包并解壓。

  • 在Java應(yīng)用啟動(dòng)腳本中增加-javaagent:/{user.workspace}/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar-Darms.licenseKey=xxx -Darms.appId=xxx (appId和licenseKey根據(jù)頁(yè)面分配的信息填寫(xiě))

  • 打開(kāi)ARMS頁(yè)面,數(shù)據(jù)開(kāi)始上報(bào),驗(yàn)證Java探針安裝成功。

第二步:在應(yīng)用概覽中發(fā)現(xiàn)“慢”可疑線(xiàn)索

進(jìn)入ARMS應(yīng)用拓?fù)鋱D。在應(yīng)用概覽中我們能夠明顯地看到今天系統(tǒng)中有“慢SQL”5次。

第三步:瀏覽并發(fā)現(xiàn)“慢接口”

點(diǎn)擊接口列表,我們能夠一眼看到這個(gè)應(yīng)用提供的所有接口以及這個(gè)接口的調(diào)用次數(shù)和耗時(shí),當(dāng)然,這些接口都是ARMS的探針自動(dòng)在程序中發(fā)現(xiàn)的,無(wú)需做任何配置。

在這些接口中,“慢”接口會(huì)被明顯標(biāo)注出來(lái)。我們很明顯地發(fā)現(xiàn)了可疑的慢接口。

選中左側(cè)的調(diào)用次數(shù)最多的”慢”接口,我們可以從右側(cè)看到這次調(diào)用明顯是“慢”在數(shù)據(jù)庫(kù)的調(diào)用上。

第四步:到底“慢在哪一行代碼”? 一鍵定位原因!

  • 光看到接口的耗時(shí)還不夠,我們需要精準(zhǔn)定位“慢”到底出現(xiàn)在哪一行代碼。

  • 點(diǎn)擊“接口快照”,可以看到這個(gè)接口對(duì)應(yīng)的所有接口的快照,快照是對(duì)一次調(diào)用的全鏈路調(diào)用的完整記錄。ARMS探針將用非常小的性能損耗記錄每一次調(diào)用所經(jīng)過(guò)的代碼及耗時(shí),幫助您精準(zhǔn)定位“慢”問(wèn)題。

  • 我們點(diǎn)擊某一個(gè)調(diào)用快照的TraceId,展開(kāi)即可查看到這次調(diào)用具體“慢”在哪一行。從上圖中我們可以清晰地看到,在這次耗時(shí)705毫秒的調(diào)用中,大部分的時(shí)間都消耗在了"SELECT * FROMl_employee"這次SQL調(diào)用中,這明顯是一次全表掃描的操作!

  • 至止,我們已經(jīng)明確地發(fā)現(xiàn)了系統(tǒng)中的一個(gè)慢調(diào)用的錯(cuò)誤根因。并且有充分的依據(jù)來(lái)指導(dǎo)我們下一步的代碼優(yōu)化工作。我們還可以回到調(diào)用接口列表,再逐一打開(kāi)列表中其他“慢”的調(diào)用,逐一解決,相信在ARMS的幫助下,您的網(wǎng)站從此可以遠(yuǎn)離卡頓的困擾,給用戶(hù)提供更加流暢的體驗(yàn)。

第五步:防患于未然-- 設(shè)置告警

當(dāng)然,您可以在ARMS的告警設(shè)置中對(duì)某一個(gè)接口或全部接口設(shè)置告警,讓頁(yè)面接口出現(xiàn)卡頓時(shí)第一時(shí)刻通知到您的運(yùn)維團(tuán)隊(duì)。

上述內(nèi)容就是ARMS如何診斷Java應(yīng)用卡頓問(wèn)題,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞名稱(chēng):ARMS如何診斷Java應(yīng)用卡頓問(wèn)題
本文地址:http://muchs.cn/article6/gehoig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、域名注冊(cè)、網(wǎng)站設(shè)計(jì)、網(wǎng)站排名、搜索引擎優(yōu)化、網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)