国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Java代碼性能監(jiān)控實現(xiàn)原理

企業(yè)動態(tài)
Java本身已不僅僅只是一門面向?qū)ο蟮木幊陶Z言,而是由一系列計算機軟件和規(guī)范形成的技術體系,這個技術體系提供了完整的跨平臺開發(fā)與部署的支持,實現(xiàn)“一次編寫、到處運行”的目的。

一、Java平臺體系及應用場景

從1995年Sun Microsystems公司正式推出Java,到2006年時Sun公司將其開源,迄今為止已經(jīng)有了20年的歷史。Java本身已不僅僅只是一門面向?qū)ο蟮木幊陶Z言,而是由一系列計算機軟件和規(guī)范形成的技術體系,這個技術體系提供了完整的跨平臺開發(fā)與部署的支持,實現(xiàn)“一次編寫、到處運行”的目的。Java已經(jīng)廣泛的應用于嵌入式、移動終端、企業(yè)服務器、大型機等各種場合。

Sun官方所定義的Java技術體系包括如下幾個組成部分:

* Java程序設計語言

* 各種硬件平臺上的Java虛擬機

* Class文件格式

* 來自商業(yè)機構(gòu)和開源社區(qū)的第三方Java類庫

 

[[158854]]

 圖:Java技術體系組件圖

Java Virtual Machine(JVM)是Java體系的基礎,負責解釋、編譯執(zhí)行.class文件形式的字節(jié)碼,同時負責內(nèi)存管理、熱點代碼檢測和運行時編譯優(yōu)化。正是由于有了虛擬機的基礎,才使Java實現(xiàn)了“一次編寫、到處運行”。Java這20年的發(fā)展,其實更是虛擬機的發(fā)展過程。期間經(jīng)歷了Sun、BEA公司各自開發(fā)的虛擬機,2009年之后,ORACLE將這兩家公司收購,并將這些虛擬機取長補短、合二為一。目前還是開源的虛擬機OpenJDK,可供愛好者學習研究用。

   JRE部分是支持Java程序運行的標準環(huán)境。JDK是JRE的超集,包含JRE的一切,再加上工具如編譯器、調(diào)試器等。

二、Java性能監(jiān)控需求

對于一個企業(yè)的應用系統(tǒng),大多數(shù)情況下,肯定是由多種編程語言開發(fā)的各種系統(tǒng)的集成。我們都非常關心系統(tǒng)的可用性、及時響應性、資源的消耗,比如CPU、內(nèi)存、各種I/O、網(wǎng)路帶寬等消耗情況。對于這些問題的性能瓶頸點,我們一般可以歸納為外部服務(如第三方API)、資源讀寫、代碼異常。如果在發(fā)生這些問題時,能夠及時完整的抓拍記錄保留下來,那么對于我們解決問題將會提供充足的證據(jù),解決問題會變的非常容易。

對于Java應用系統(tǒng)來說,JVM自身提供了相應的性能監(jiān)控手段和工具,經(jīng)常在出現(xiàn)問題后,比如內(nèi)存泄漏或溢出時,我們會通過jmap命令導出堆的轉(zhuǎn)儲快照,利用相應的命令jhat或其他相應的第三方內(nèi)存分析工具來分析對象的占用情況。

響應緩慢時,我們可能會用jstat監(jiān)視命令、或jdk的可視化工具jconsole、visualvm來分析JVM的垃圾回收類型、回收頻率,來推測是否是垃圾回收導致的。有可能我們還要接著分析線程轉(zhuǎn)儲快照,通過jstack取出線程的棧快照,來分析是否有真死鎖、死循環(huán)導致的相應緩慢、資源負載高等情況。

當有問題出現(xiàn)時,許多開發(fā)人員可能都是比較盲目的用這些工具來試探性定位問題,而大多數(shù)情況下,這種試探會無功而返。因為這些分析工具主要是側(cè)重Java單方面的分析,比如該系統(tǒng)調(diào)用第三方API,如果第三方API有問題,是無法監(jiān)控到的。還有像文件、DB資源的訪問也是是無法監(jiān)控到的。

而且,只有對Java虛擬機機制較為熟悉的高級開發(fā)人員才能比較好的運用、理解這些工具,對于大多數(shù)普通Java開發(fā)人員來說,這些問題只會令他們束手無策。

像外部服務(如第三方API)、資源讀寫、代碼異常這些瓶頸點,需要通過代碼級別的監(jiān)控才能直接、快速、有效的找到癥結(jié)所在。調(diào)用第三方API的耗時、資源訪問的耗時、代碼拋出的非預知異常,這些常見問題代碼監(jiān)控完全能夠監(jiān)控到,并能夠?qū)崟r抓拍記錄,一旦有問題可以快速還原事故問題現(xiàn)場。通過代碼級別監(jiān)控發(fā)現(xiàn)問題后,也可以在輔助利用虛擬機內(nèi)置監(jiān)控工具進行進一步的定位。

三、透視寶Java監(jiān)控實現(xiàn)原理

圖:Java的執(zhí)行模型

在Java的執(zhí)行體系中,由.Java源碼文件編譯后的.class字節(jié)碼文件,可以理解為中間語言。

圖:透視寶Java監(jiān)控實現(xiàn)原理

圖:透視寶Java監(jiān)控實例運行圖

1、字節(jié)碼load至JVM時發(fā)生了什么

* 回調(diào)函數(shù)注冊完畢后,凡是當有任何的class文件即將被類加載器加載前,都 

  會執(zhí)行回調(diào)函數(shù)transform,在此方法內(nèi)實現(xiàn)的類改變操作。

* 實現(xiàn)的transform方法中,我們使用的是ASM字節(jié)碼操作框架,ASM從二進制

  形式的類文件中讀取、分析類的信息,然后修改改變類的行為。

* transform方法的基本代碼形式如下:

2、如何實際改變類行為

* 在依賴于ASM基礎之上,我們抽象出這樣的業(yè)務模型

* 常用的攔截探針

* 常用的運行時攔截處理器

* 支持的攔截定義過濾器規(guī)則

* 該業(yè)務模型對應的行為

定義攔截描述時,指定過濾攔截哪些類、哪些方法,然后,在這些行為的點上,可以埋入探針、處理器。重寫visitCode、visitInsn、visitMaxs分別實現(xiàn)方法進入、返回、異常的相關操作改寫。

四、透視寶Java監(jiān)控部署流程

1、登錄云智慧透視寶官網(wǎng):https://www.toushibao.com/ ,點擊頁面右上角導航的“免費試用”,正確填寫免費試用的申請信息后會彈出下面的對話框,同時激活郵件會自動發(fā)送到你的郵箱中,按照流程注冊帳號即可。

2、注冊成功后,登錄透視寶,點擊配置-應用,在配置頁面中下載安裝Smart Agent。安裝成功后,Smart Agent會根據(jù)系統(tǒng)配置自動獲取主機信息,大致兩分鐘后,您就可以在“主機→服務器”模塊中查看該服務器的CPU、內(nèi)存、網(wǎng)卡、磁盤及進程等性能數(shù)據(jù)。

3、如果要監(jiān)控應用運行時代碼、主機中服務和數(shù)據(jù)庫性能數(shù)據(jù),您需要進一步安裝和配置Smart Agent提供的各種插件,這是因為Smart Agent實現(xiàn)了一種開放式的插件式結(jié)構(gòu),對每個運行時代碼、服務和數(shù)據(jù)庫的監(jiān)控都是通過相應的插件來實現(xiàn)的。

Smart Agent在安裝完成后,加載過程中自動發(fā)現(xiàn)你的應用組件,如果沒有自動監(jiān)測到Java環(huán)境,也可以手動添加Java Agent。如上圖所示,點擊“管理”入口,進入“插件管理”,點擊頁面下部的“添加服務”,選擇JavaAgent后,點擊“創(chuàng)建”。

創(chuàng)建完畢后,點擊“ON”。(該ON操作只是初始化用戶的信息,以便以后采集到的信息能夠正確的回傳給該用戶。)

以上都操作完后,在{smartagent的安裝路徑}/plugins,就會看到如下形式的

 

 在到{smartagent的安裝路徑}/plugins/JavaAgent_1442476463X1002x0/conf文件夾下,查看app.conf文件,看看該文件內(nèi)的HostKey的值是否是如下類似的加密形式

 

以上情況,表明JavaAgent已經(jīng)下載啟動初始化成功。

4、安裝JavaAgent至各種應用服務器上,如tomcat\jboss\weblogic。(該操作參考官網(wǎng)https://www.toushibao.com/即可)

5、只要啟動相應服務器,然后訪問您的應用url即可,該url對用的代碼執(zhí)行情況即可呈現(xiàn)給您,一旦出現(xiàn)緩慢問題也一目了然。如下圖示意

五、透視寶Java代碼性能監(jiān)控特點

在功能方面,透視寶無論是在Java,還是其他如.NET、PHP等主流語言的監(jiān)控上,都包括:查看執(zhí)行最慢的10個元素,包括元素執(zhí)行次數(shù)、持續(xù)時長和占用時長百分比;查看HTTP請求參數(shù),包括請求的響應狀態(tài)、鏈接頁面、具體的請求參數(shù)及返回結(jié)果;查看代碼執(zhí)行堆棧的詳細樹狀信息,包括每個方法的計算時間、總耗時和被調(diào)用的次數(shù),您能直接看到特殊標識的最慢方法;查看涉及SQL語句的總耗時排序,包括SQL執(zhí)行總耗時、執(zhí)行次數(shù)和具體的查詢語句;第三方API調(diào)用。

端到端性能監(jiān)控示意圖

在性能方面,云智慧透視寶的JavaAgent代碼監(jiān)控探針包,對用戶的性能影響到底有多大?從安裝包本身來看,它非常小,僅為1.5M。在不安裝Java探針包和安裝Java探針包,分別運行應用。經(jīng)過測試對比,CPU使用率差值、內(nèi)存消耗差值、TPS差值均在5%以內(nèi)。 

責任編輯:李英杰 來源: 51cto.com
相關推薦

2015-12-11 11:39:15

.net代碼

2015-10-12 17:08:14

云智慧

2015-12-11 14:02:02

php應用

2025-02-25 12:00:00

Java線程開發(fā)

2015-11-17 18:06:22

云智慧PHP應用性能

2015-09-15 15:41:09

監(jiān)控寶Docker

2021-02-02 13:45:31

Vue代碼前端

2025-02-04 10:58:16

2024-09-04 08:09:51

2010-08-02 15:21:06

DelphiICMP

2012-04-11 15:41:48

JavaNIO

2017-03-22 14:23:58

Java HashMa實現(xiàn)原理

2023-10-13 00:09:20

桶排序排序算法

2024-08-19 02:35:00

模型量化深度學習

2023-10-08 00:02:07

Java排序算法

2024-09-06 07:55:42

2023-10-09 00:12:55

歸并排序數(shù)據(jù)

2011-06-28 13:56:43

JAVA

2024-09-13 16:47:06

模型量化AI

2012-07-27 09:47:34

點贊
收藏

51CTO技術棧公眾號

国产成人亚洲综合91精品| 91嫩草国产丨精品入口麻豆| 激情网站在线| 91欧美一区二区| 国产精品白丝jk喷水视频一区| 怡红院在线播放| 亚洲欧洲av在线| 在线观看一区欧美| 亚洲色图88| 欧美激情aaaa| 华人av在线| 欧美视频13p| 久久国产色av免费观看| 乱人伦精品视频在线观看| 日本久久久久久| 456亚洲精品成人影院| 欧美综合视频在线观看| 成人毛片高清视频观看| 久热成人在线视频| 国产剧情久久久久久| 伊人久久一区| 亚洲国产精品高清久久久| 日本1区2区| 久久久久9999亚洲精品| 二级片在线观看| 日韩一级网站| 51国偷自产一区二区三区| 国产精品nxnn| 久久精品国产91精品亚洲| av毛片在线看| 欧美高清hd18日本| 欧美午夜黄色| 亚洲午夜免费福利视频| 999精彩视频| 国产亚洲精品bt天堂精选| 欧美国产综合在线| 麻豆国产欧美日韩综合精品二区| 国产精品区一区二区三在线播放 | 免费成人高清视频| 在线观看特色大片免费视频| 日韩一区二区不卡| 国产三级视频在线| 日韩欧美一区视频| 日韩一二三四| 欧美日韩在线不卡| 求av网址在线观看| 91精品国产麻豆国产自产在线 | 成人激情开心网| 日本成人在线视频网址| 欧美精品中文| 日本精品久久久| 成人精品亚洲| 成人女人免费毛片| 国产欧美日韩综合一区在线播放 | 日韩高清国产一区在线| 区一区二区三区中文字幕| 久久婷婷麻豆| 视频一区二区视频| 国产不卡高清在线观看视频| 国产v片免费观看| 亚洲国产精品国自产拍av| 亚洲 激情 在线| 洋洋av久久久久久久一区| 中文字幕在线观看| 在线观看亚洲专区| 五月婷婷视频在线观看| 亚洲图片在区色| 亚洲电影一区| 国产精品久久久久久久久免费看| 欧美日韩在线高清| av在线free| 亚洲天堂av在线免费| 亚洲va欧美va人人爽成人影院| 日韩av手机在线看| 亚洲欧洲综合| 欧美另类videosbestsex日本| 久久青草国产手机看片福利盒子 | 国产91精品入| 国产精品扒开腿做爽爽爽男男| 欧美精选在线| 正在播放一区| 亚洲国产精品国自产拍av| 头脑特工队2在线播放| 欧美变态凌虐bdsm| 日韩高清在线观看一区二区| 国产精品劲爆视频| 久久久久久久波多野高潮日日| 青青青青草视频| 亚洲国产wwwccc36天堂| 国语对白在线刺激| 久久久久免费视频| 亚洲无线视频| 国产精品自拍合集| 亚洲午夜免费电影| 欧美专区福利免费| 国产精品久久久久av| 蜜臀av一级做a爰片久久| www.99av.com| 7777精品伊人久久久大香线蕉 | 国产精品电影一区二区三区| 二人午夜免费观看在线视频| 这里只有精品视频| 99久久夜色精品国产亚洲96| 国产成人三级视频| 亚洲国产欧美在线| 电影一区二区| 激情伦成人综合小说| 国产亚洲一区二区三区四区| 在线免费观看黄色| 992tv成人免费影院| 免费人成网站在线观看欧美高清| 男裸体无遮挡网站| 亚洲欧美激情四射在线日| 五月开心六月丁香综合色啪| 大肉大捧一进一出好爽视频| 欧美日韩国产高清一区二区三区 | 久久人体av| 99热在线播放| 欧美国产日韩精品免费观看| 视频在线这里都是精品| 国产欧美亚洲精品| 国产无一区二区| 青青青免费在线视频| 中文字幕久久久| 丰满白嫩尤物一区二区| 欧美激情亚洲自拍| 国产欧美啪啪| 国产精品香蕉在线观看| 亚洲第一毛片| 四虎精品一区二区永久在线观看| 亚洲人成网站777色婷婷| 91精品久久久久久综合五月天| 国产成人+综合亚洲+天堂| 日韩精品一区二区三区中文| 欧美美最猛性xxxxxx| 欧美孕妇与黑人孕交| 一区二区三区国产视频| 亚洲国产精品yw在线观看| 亚洲黄一区二区| av电影在线观看不卡| 国产精一品亚洲二区在线视频| 久久精品亚洲一区二区| 国产一区二区观看| 一本色道88久久加勒比精品| 97av中文字幕| 国产精品久久久久久久久免费丝袜 | 888久久久| 欧美24videosex性欧美| 波多野结衣综合网| 国产成人久久精品| 欧美一级欧美一级在线播放| 久久精品一区四区| 狠狠综合久久| 西瓜成人精品人成网站| 国产二区视频在线观看| avtt在线播放| 牛夜精品久久久久久久| 欧美一区二区三区精美影视| 久久久天堂国产精品女人| xvideos国产精品| 成人高清在线观看| 国产精品99久久久久久白浆小说| 91最新在线免费观看| 丁香色欲久久久久久综合网| 女同一区二区| 日本视频一区二区在线观看| 欧美偷拍视频| 精品欧美视频| 国产精品hd| 成人18精品视频| 亚洲国产成人精品女人久久久| 亚洲精品在线电影| 日韩欧美国产综合| 91精品国产综合久久香蕉的用户体验| 岛国视频一区免费观看| 路边理发店露脸熟妇泻火| 五月婷婷狠狠操| 国产xxxxx在线观看| 国产天堂在线播放视频| 色97色成人| 中文成人在线| 国产免费一区二区三区四在线播放| 日韩一区二区麻豆国产| 蜜臀av一区二区在线观看| 亚洲天堂av影院| 免费成人性网站| 免费福利在线观看| 欧美激情导航| 亚洲男人天堂2024| 国产欧美一区二区精品性色超碰 | 青青草成人网| 精品亚洲一区二区| k8久久久一区二区三区 | 毛片在线播放视频| 久久久久久久久亚洲| 亚洲第一福利一区| 免费在线看一区| 国产精品自在| 麻豆视频在线| 玩弄japan白嫩少妇hd|