成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

企業(yè)級 Java 應用最重要的4個性能指標

開發(fā) 后端
應用性能管理(APM)是一種即時監(jiān)控以實現(xiàn)對應用程序性能管理和故障管理的系統(tǒng)化解決方案。目前主要指對企業(yè)的關鍵業(yè)務應用進行監(jiān)測、優(yōu)化,最終達到提高企業(yè)應用的可靠性和質量,保證用戶得到良好的服務,降低IT成本的目標。

應用性能管理(APM)是一種即時監(jiān)控以實現(xiàn)對應用程序性能管理和故障管理的系統(tǒng)化解決方案。目前主要指對企業(yè)的關鍵業(yè)務應用進行監(jiān)測、優(yōu)化,最終達到提高企業(yè)應用的可靠性和質量,保證用戶得到良好的服務,降低IT成本的目標。

雖然很多人都曾預言Java將一蹶不振,但是不可否認的是,很多重要項目中,尤其是銀行和政府一些大型項目,Java仍在其中扮演著極其重要的角 色。國內APM領軍企業(yè)OneAPM的Java工程師陶炳哲,多次參與銀行、運營商等大型企業(yè)的性能優(yōu)化工作,總結了企業(yè)級Java應用最應重視的4個性 能指標,主要包括:商業(yè)事務,外部服務,垃圾回收以及應用布局。下文將逐一展開闡述:

1.商業(yè)事務

商業(yè)事務是真實用戶體驗的直觀反映:它們抓取了用戶與應用交互時,用戶體驗到的實時性能數(shù)據(jù)。測量商業(yè)事務的性能,需要抓取一件商業(yè)事務整體的響應時間及其各個組件的響應時間。這些響應時間再與滿足業(yè)務需求的基準進行比較,從而決定應用是否正常。

如果你只打算測量應用的一個方面,本文會推薦你測量商業(yè)事務的表現(xiàn)。盡管容量指標(container metrics)能幫助你決定何時調節(jié)集群規(guī)模,但是商業(yè)事務才決定了應用本身的性能。你無需詢問應用服務器線程池(thread pool)的使用情況,而是關心用戶能否迅速完成他們的商業(yè)事務,以及這些事務的表現(xiàn)是否正常。

介紹一點背景知識:商業(yè)事務通過其入口進行辨別,即用戶與你的業(yè)務進行互動的入口。這類互動包括:一個網(wǎng)頁請求,一個網(wǎng)頁服務調用,或消息隊列中的 一條消息。當然,你也可以基于一個URL參數(shù)為同樣的網(wǎng)頁請求定義多個入口,或基于一個服務調用的內容定義多個入口點。關鍵在于:商業(yè)交易必須與對你的業(yè) 務流程相關聯(lián),比如說中國移動的空中繳費業(yè)務對應到系統(tǒng)中是多個原子服務,我們就應該將這幾個原子服務通過相應的關聯(lián)聚合成一個空中繳費業(yè)務來進行監(jiān)控。

辨別某個商業(yè)交易后,它的性能就會在整個應用生態(tài)系統(tǒng)中進行測量。每個商業(yè)交易的性能會與其基準進行比較,判定其是否正常。譬如,如果某個商業(yè)事務的響應時間大于您設定的閾值,我們便判定其運行異常。
總而言之,商業(yè)事務最能反映用戶體驗,因此它們也是最重要的抓取維度。

2.外部服務

外部服務的形式多種多樣:從屬的網(wǎng)頁服務、遺留系統(tǒng)或數(shù)據(jù)庫等。外部服務是與應用交互的系統(tǒng)。運行在外部服務系統(tǒng)中的代碼常常無法控制,但是我們可 以控制這些系統(tǒng)的配置,因此了解他們是否運行正常以及何時出錯也很重要。并且,我們必須有能力區(qū)分問題是出自自身應用,還是源于這些外部服務系統(tǒng)。

從商業(yè)事務的角度來說,我們可以辨別并測量這些處于自身應用的外部服務。有時,我們需要配置監(jiān)控方法從而辨別那些包裹了外部服務調用的方法。但是對于常見的協(xié)議,諸如HTTP和JDBC,外部服務可以自動檢測。

商業(yè)事務讓你對應用的性能有了全局的掌控,幫助你對性能問題進行分類。但是外部服務總能以意想不到的方式極大地影響應用的運行,所以你必須監(jiān)控它們。

3.垃圾回收

從Java發(fā)布最早版本開始,一直都保留的核心特性就是垃圾回收,它真是讓人又愛又恨。垃圾回收使我們不再需要手動管理內存:當使用完一個對象后, 我們只需刪除它的引用,然后垃圾回收就會自動釋放它。如果你使用過需要手動管理內存的語言,諸如C或C++,你會滿懷感激。垃圾回收為程序員們減少了分 配、釋放內存空間的繁瑣步驟。

此外,因為垃圾回收器會自動釋放沒有引用的內存空間,它減少了傳統(tǒng)的內容泄露情況,即內存被分配后,該內存的引用在內存釋放前就被刪除了。聽起來就像靈丹妙藥,不是么?

盡管垃圾回收達成了無需手動管理內存的目標,也防止了傳統(tǒng)的內存泄露,但是作為代價,垃圾回收過程有時相當笨拙。根據(jù)不同的JVM,垃圾回收策略也會不同。深入探討這些策略超出了本文的主旨。但是,讀者應該明白,了解垃圾回收期的工作原理,以及***的配置方案至關重要。

垃圾回收***的敵人就是傳說中的主要(major)或(full)垃圾回收。除了Azul JVM,所有的JVM都有這個問題。通常,垃圾回收大致分為兩類:

  • 次級
  • 主要

為了釋放存活時間較短的對象,次級垃圾回收發(fā)生得相對頻繁。他們在運行時不會封鎖線程,產(chǎn)生的影響較小。

然而,主要垃圾回收,有時也稱為“暫停世界(Stop The World, STW)”垃圾回收,因為他們在運行時會封鎖JVM中的所有線程。

當垃圾回收運行時,它會運行一項可達性測試(reachability test),如圖四所示。它會創(chuàng)建一個由對象組成的根集合(root set),該集合包含每個運行線程中的直接可見對象。接著,它會探尋根集合中的對象涉及的其他對象,然后探尋這些對象涉及的對象,直到所有對象都被涉及。 在這個過程中,它會記錄(mark)下現(xiàn)時活動對象的內存地址,然后把不被使用的所有地址都掃除(sweep)。說得更恰當些,它會把沒有根集合對象引用 的內存都釋放。最終,它會壓縮、整理這些內存,這樣新的對象才能獲得內存分配。

根據(jù)不同的JVM,次級、主要回收的方式都會不同。圖五圖六展示了在Sun JVM內次級、主要回收的操作方式。

在次級回收中,內存主要分配到Eden空間直到將其填滿。接著,拷貝收集器(copy collector)會將Eden中的活動對象拷貝到兩個幸存者空間(survivor spaces, to space和from space)。遺留在Eden中的對象就會被移除。如果幸存者空間被填滿,但還有多余的活動對象,這些對象會被移到tenured空間。只有主要回收才能 釋放tenured空間的內存。

最終,tenured空間會被填滿,主要回收將會執(zhí)行。它不會將幸存者空間放不下的活動對象拷貝到tenured空間中。此時,JVM會封鎖所有線程,運行可達性測試,清除年輕的數(shù)據(jù)(Eden和兩個幸存者空間),并壓縮tenured空間。我們將之稱為主要回收。

你或許會想,堆越大,主要回收運行得越不頻繁。但是當它執(zhí)行時,所需時間就會比小堆要長。因此,調整好堆的大小和垃圾回收策略對于應用的性能也很重要。

4.應用布局

***要探討的性能指標是應用布局。因為云的出現(xiàn),現(xiàn)在的應用變得更加靈活:應用環(huán)境可以根據(jù)用戶需求調節(jié)大小。因此,對應用的布局進行檢測從而決定 實例的多少是否合適是非常重要的。如果你的實例太多,你的云主機成本就會增加。但如果你沒有足夠的實例,商業(yè)事務就會受到影響。

在評測過程中,下面兩個指標尤其重要:

  • 商業(yè)事務的吞吐量
  • 容器性能

商業(yè)事務應該基準化,你應該知道在給定的時間里為了滿足基準所需的實例數(shù)量。如果你的商業(yè)事務的吞吐量增長突然,你就要增加實例以滿足用戶。

另一個需要監(jiān)測的是容器性能。具體來說,你想確定是否有應用中的實例負載過大,如果有,你或許想在那個應用中添加實例。從應用的角度查看實例狀態(tài)很 重要,因為單個實例可能由于垃圾回收之類的因素負載過大,但如果應用中大多數(shù)實例都負載過大,則該應用可能已經(jīng)無法支持它接受的訪問量。

因為應用中的實例可以單個地調節(jié)規(guī)模,所以分析各個實例的性能進而調整應用布局就至關重要。 

 

 

責任編輯:王雪燕
相關推薦

2015-06-17 10:14:57

Java性能指標

2015-06-29 13:33:50

APMJAVA企業(yè)級

2018-11-29 15:00:27

Java應用程序性能指標

2023-09-08 15:37:29

軟件開發(fā)性能

2023-11-20 09:48:13

Linux性能指標命令

2010-09-08 11:38:27

2017-10-30 10:28:52

前端開發(fā)工程師性能指標

2011-05-04 13:53:08

jQuery

2024-09-20 08:32:21

2013-06-17 10:19:30

交換機性能交換機參數(shù)交換機

2022-05-02 08:56:04

前端性能指標

2015-11-04 13:37:33

AWS 企業(yè)IT公有云

2010-07-28 09:25:41

jQueryJavaScript性

2011-07-28 14:58:49

HP ProLiant服務器

2023-11-25 20:16:22

前端

2023-12-17 14:49:20

前端首屏時間

2023-12-29 15:30:41

內存存儲

2011-06-07 14:16:38

雙絞線

2017-09-27 10:21:26

數(shù)據(jù)中心交換機緩存

2015-10-08 16:23:17

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线日韩精品视频 | 91久久久久久久久久久 | 久热久 | 久久精品久久久久久 | 精品国产一二三区 | 求个av网址| 国产精品久久国产精品 | 国产黄色大片在线观看 | 97日日碰人人模人人澡分享吧 | 国产乱码高清区二区三区在线 | 99精品一区二区 | 久久综合一区 | 奇米影视在线 | 一本大道久久a久久精二百 欧洲一区二区三区 | 成人毛片在线视频 | 精品九九九 | 国产精品免费福利 | 日韩国产在线观看 | 国产九九av| 免费观看一级黄色录像 | 久久精品手机视频 | 精精国产xxxx视频在线播放 | 艹逼网 | 国产999精品久久久久久 | 3级毛片| 国产色网站| 操操操日日日 | 请别相信他免费喜剧电影在线观看 | 九九热精品视频在线观看 | 亚洲欧美综合精品久久成人 | 黄色一级大片在线观看 | 成人影院免费视频 | 麻豆久久久久久 | 日本亚洲欧美 | 日韩在线一区二区三区 | 亚洲国产欧美91 | 亚洲欧美日韩精品久久亚洲区 | 国产精品久久久久久久久久妇女 | 久久中文字幕一区 | 日韩在线免费 | 国产精品久久久久久久久久久久 |