欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
JProfiler 解決 Java 服務(wù)器的性能跟蹤

1、摘要..........................................................................1
2、改善服務(wù)器的性能...........................................................1
3、分析器原理...................................................................2
4、JProfiler 簡(jiǎn)介...............................................................2
5、JProfiler 特征...............................................................3
6、本地監控.....................................................................4
7、遠程監控.....................................................................7
8、參考..........................................................................9

 

1 、 摘要

       改善 Java 服務(wù)器的性能需要模擬負載下的服務(wù)器。創(chuàng )建一個(gè)模擬環(huán)境、搜集數據并且分析結果可能是對許多開(kāi)發(fā)人員的挑戰。這篇文章介紹了使用 JProfiler 跟蹤分析 Java 服務(wù)器的性能。

 

簡(jiǎn)單的性能問(wèn)題很容易分離并解決,然而,大的性能問(wèn)題,如內存溢出或者系統的罷工,通常在系統處于高負載情況下發(fā)生,就不能這么簡(jiǎn)單的處理了。這些問(wèn)題需要一個(gè)獨立的測試環(huán)境、一個(gè)模擬的負載,并且需要仔細地分析和跟蹤。

 

在這篇文章中,我使用比較通用的工具( JProfiler JBuilder )和設備創(chuàng )建了一個(gè)性能監控分析環(huán)境,跟蹤本地和遠程的服務(wù)器程序,專(zhuān)注于三個(gè)性能問(wèn)題:內存、垃圾回收和多線(xiàn)程運行狀況,從而很好的監視 JVM 運行情況及其性能。

2 、改善服務(wù)器的性能

服務(wù)器的性能改善是依賴(lài)于數據的。沒(méi)有可靠的數據基礎而更改應用或環(huán)境會(huì )導致更差的結果。分析器提供有用的 Java 服務(wù)器應用信息,但由于從單用戶(hù)負載下的數據與多用戶(hù)負載下得到的數據是完全不同的,這導致分析器的數據并不精確。在開(kāi)發(fā)階段使用分析器來(lái)優(yōu)化應用的性能是一個(gè)好的方式,但在高負載下的應用分析可以取到更好的效果。

 

在負載下分析服務(wù)器應用的性能需要一些基本的元素:

 

1、  可控的進(jìn)行應用負載測試的環(huán)境。

2、  可控的人造負載使得應用滿(mǎn)負荷運行。

3、  來(lái)自監視器、應用和負載測試工具自身的數據搜集。

4、  性能改變的跟蹤。

 

不要低估最后一個(gè)需求(性能跟蹤)的重要性因為如果不能跟蹤性能你就不能實(shí)際的管理項目。性能上 10-20% 的改善對單用戶(hù)環(huán)境來(lái)說(shuō)并沒(méi)有什么不同,但對支持人員來(lái)說(shuō)就不一樣了。 20% 的改善是非常大的,而且通過(guò)跟蹤性能的改善,你可以提供重要的反饋和持續跟蹤。

 

雖然性能跟蹤很重要,但有時(shí)為了使后續的測試更加精確而不得不拋棄先前的測試結果。在性能測試中,改善負載測試的精確性可能需要修改模擬環(huán)境,而這些變化是必須的,通過(guò)變化前后的負載測試你可以觀(guān)察到其中的轉變。

3 、 分析器原理

現在幾乎所有的分析器都是從同一個(gè)起點(diǎn)和約束開(kāi)始的: Java 虛擬機分析器界面 (JVMPI) ( 參考 "The Java Virtual Machine Profiler Interface") 。 Sun 微系統的 API 允許工具開(kāi)發(fā)商接口或者連接到遵循 JVMPI JVM 上,并且監控運作的方式以及 JVM 運行任何 Java 程序時(shí)的關(guān)鍵事件 -- 從單獨的應用程序到 Applet 、 Servlet 和企業(yè) JavaBeans (EJB) 組件。

在分析器內啟動(dòng)一個(gè)程序意味著(zhù)生成、捕捉、和觀(guān)察大量數據,所以所有的分析器都包含著(zhù)不同的方法來(lái)控制數據的流動(dòng),在不同的標準以及每一封裝包的基礎上進(jìn)行過(guò)濾。同樣 也可以使用靈活的正規表達式類(lèi)型模式來(lái)完成。

4 、 JProfiler 簡(jiǎn)介

是一個(gè)全功能的 Java 剖析工具( profiler ),專(zhuān)用于分析 J2SE J2EE 應用程序。它把 CPU 、執行緒和內存的剖析組合在一個(gè)強大的 應用中。 JProfiler 可提供許多 IDE 整合和應用服務(wù)器整合用途。 JProfiler 直覺(jué)式的 GUI 讓你可以找到效能瓶頸、抓出內存漏失 (memory leaks) 、并解決執行緒的問(wèn)題。它讓你得以對 heap walker 作資源回收器的 root analysis ,可以輕易找出內存溢出; heap 快照( snapshot )模式讓未被參照( reference )的對象、稍微被參照的對象、或在終結( finalization )隊列的對象 都會(huì )被移除;整合精靈以便剖析瀏覽器的 Java 外掛功能。

 

目前最新的版本是 4.1.2 ,幾乎支持所有常用的 IDE Application Server ,可以到其 EJ 官方網(wǎng)站 http://www.ej-technologies.com/ 下載,申請一個(gè)十天的試用注冊碼。

5 、 JProfiler 特征

5.1 內存剖析 Memory profiler

JProfiler 的內存視圖部分可以提供動(dòng)態(tài)的內存使用狀況更新視圖和顯示關(guān)于內存分配狀況信息的視圖。所有的視圖都有幾個(gè)聚集層并且能夠顯示現有存在的對象和作為垃圾回收的對象。

  • 所有對象
    顯示類(lèi)或在狀況統計和尺碼信息堆上所有對象的包。你可以標記當前值并顯示差異值。
  • 記錄對象 Record objects
    顯示類(lèi)或所有已記錄對象的包。你可以標記出當前值并且顯示差異值。
  • 分配訪(fǎng)問(wèn)樹(shù) Allocation call tree
    顯示一棵請求樹(shù)或者方法、類(lèi)、包或對已選擇類(lèi)有帶注釋的分配信息的J2EE組件。
  • 分配熱點(diǎn) Allocation hot spots
    顯示一個(gè)列表,包括方法、類(lèi)、包或分配已選類(lèi)的J2EE組件。你可以標注當前值并且顯示差異值。對于每個(gè)熱點(diǎn)都可以顯示它的跟蹤記錄樹(shù)。

5.2 堆遍歷 Heap walker

JProfiler的堆遍歷器(Heap walker)中,你可以對堆的狀況進(jìn)行快照并且可以通過(guò)選擇步驟下尋找感興趣的對象。堆遍歷器有五個(gè)視圖:

  • 類(lèi) Classes
    顯示所有類(lèi)和它們的實(shí)例。
  • 分配 Allocations
    為所有記錄對象顯示分配樹(shù)和分配熱點(diǎn)。
  • 索引 References
    為單個(gè)對象和顯示到垃圾回收根目錄的路徑提供索引圖的顯示功能。還能提供合并輸入視圖和輸出視圖的功能。
  • 數據 Data
    為單個(gè)對象顯示實(shí)例和類(lèi)數據。
  • 時(shí)間 Time
    顯示一個(gè)對已記錄對象的解決時(shí)間的柱狀圖。

5.3 CPU 剖析 CPU profiler

JProfiler 提供不同的方法來(lái)記錄訪(fǎng)問(wèn)樹(shù)以?xún)?yōu)化性能和細節。線(xiàn)程或者線(xiàn)程組以及線(xiàn)程狀況可以被所有的視圖選擇。所有的視圖都可以聚集到方法、類(lèi)、包或J2EE組件等不同層上。CPU視圖部分包括:

  • 訪(fǎng)問(wèn)樹(shù) Call tree
    顯示一個(gè)積累的自頂向下的樹(shù),樹(shù)中包含所有在JVM中已記錄的訪(fǎng)問(wèn)隊列。JDBC,JMSJNDI服務(wù)請求都被注釋在請求樹(shù)中。請求樹(shù)可以根據ServletJSPURL的不同需要進(jìn)行拆分。
  • 熱點(diǎn) Hot spots
    顯示消耗時(shí)間最多的方法的列表。對每個(gè)熱點(diǎn)都能夠顯示回溯樹(shù)。該熱點(diǎn)可以按照方法請求,JDBC,JMSJNDI服務(wù)請求以及按照URL請求來(lái)進(jìn)行計算。
  • 訪(fǎng)問(wèn)圖 Call graph
    顯示一個(gè)從已選方法、類(lèi)、包或J2EE組件開(kāi)始的訪(fǎng)問(wèn)隊列的圖。

5.4 線(xiàn)程剖析 Thread profiler

對線(xiàn)程剖析,JProfiler提供以下視圖:

  • 線(xiàn)程歷史 Thread history
    顯示一個(gè)與線(xiàn)程活動(dòng)和線(xiàn)程狀態(tài)在一起的活動(dòng)時(shí)間表。
  • 線(xiàn)程監控 Thread monitor
    顯示一個(gè)列表,包括所有的活動(dòng)線(xiàn)程以及它們目前的活動(dòng)狀況。
  • 死鎖探測圖表 Deadlock Detection
    顯示一個(gè)包含了所有在JVM里的死鎖圖表。
  • 目前使用的監測器 Current monitor useage
    顯示目前使用的監測器并且包括它們的關(guān)聯(lián)線(xiàn)程。
  • 歷史檢測記錄 History usage history
    顯示重大的等待事件和阻塞事件的歷史記錄。
  • 監測使用狀態(tài) Monitor usage statistics
    顯示分組監測,線(xiàn)程和監測類(lèi)的統計監測數據。

5.5 VM 遙感勘測技術(shù) VM telemetry

觀(guān)察JVM的內部狀態(tài),JProfiler提供了不同的遙感勘測視圖,如下所示:

  • Heap
    顯示一個(gè)堆的使用狀況和堆尺寸大小活動(dòng)時(shí)間表。
  • 記錄的對象 Recorded objects
    顯示一張關(guān)于活動(dòng)對象與數組的圖表的活動(dòng)時(shí)間表。
  • 垃圾回收 Garbage collector
    顯示一張關(guān)于垃圾回收活動(dòng)的活動(dòng)時(shí)間表。
  • 類(lèi) Classes
    顯示一個(gè)與已裝載類(lèi)的圖表的活動(dòng)時(shí)間表。
  • 線(xiàn)程 Threads
    顯示一個(gè)與動(dòng)態(tài)線(xiàn)程圖表的活動(dòng)時(shí)間表。

6 、 本地監控

系統環(huán)境 Windows OS ;軟件 JBuilderX/2005 JProfiler 4.1.2

 

1 、安裝 JBuilderX JProfiler 4.1.2

2 、運行 JProfiler , Session-> IDE integration tab, IDE 選擇Borland JBuilder7 to 2005,點(diǎn)擊Integrate按鈕,選擇JBuilder的安裝目錄,確認,會(huì )看到已經(jīng)將JProfilerOpenTool的形式,成功整合到JBuilder中,見(jiàn)下圖。

 

 


3
、運行 JBuilder ,打開(kāi) Run->Configurations ,選擇或新建一個(gè) Runtime ,在 Optimize 選項中就可以看到 JProfiler ,可以選擇每次運行程序新建一個(gè) JProfiler 窗口的提示設置。

4 、點(diǎn)擊 Optimize Project 按鈕,運行程序。




5
、彈出如下的 JProfiler 窗口,確認相關(guān)的信息即可。




6
、至此,就可以監控本地服務(wù)器的各個(gè)方面的性能了。







7 、 遠程監控

服務(wù)器程序一般運行在遠程的服務(wù)器設備上,有時(shí)候我們還需要遠程監控商用的服務(wù)器資源。

 

服務(wù)器操作系統 Linux OS ,安裝步驟如下:
1、./jprofiler_linux_4_1_2.sh,出現如下提示:
testing JVM in /usr/jdk1.4 ...
Starting Installer ...
注:對于沒(méi)有安裝X Server的機器,需要執行./jprofiler_linux_4_1_2.sh -q,否則會(huì )提示,
testing JVM in /usr/jdk1.4 ...
Starting Installer ...
This installer needs access to an X Server.
If this is not possible, you can run the installer in unattended mode
by passing the argument -q to the installer.
2、安裝完畢后,會(huì )在/opt目錄下,找到j(luò )profiler的安裝目錄,/opt/jprofiler4。

本地操作系統
WindowXP ,相關(guān)的配置如下:

 

1 、本地安裝 JProfiler , Linux 服務(wù)器上也安裝 JProfiler (只有本地 / 監控者的需要輸入序列號)。

2 、打開(kāi)本地的 JProfiler , session->Integration wizards-> New Remote integration

3 、選擇 on a remote computer , platform 選擇 linux x86/AMD64 ,點(diǎn)擊 next

4 、輸入遠程 ip 地址,點(diǎn)擊 next

5 、輸入遠程 JProfiler 的安裝目錄,默認都安裝在 /opt/jprofiler4 下,一路NEXT

6 、出現下面提示框,按照要求配置下服務(wù)器的設置,界面如下:


Java
執行語(yǔ)句中加入下列運行參數

 -Xint -Xrunjprofiler:port=8849 -Xbootclasspath/a:/opt/jprofiler4/bin/agent.jar ;

/etc/profile 中加入 export LD_LIBRARY_PATH=/opt/jprofiler4/bin/linux-x86 ,退出、重新登陸。

 

7 、好了,全部配置完畢,先運行遠程服務(wù)器程序,再打開(kāi)本地的 JProfiler 程序,握手成功后,遠程程序正常運行了。

 

服務(wù)器信息如下:

[root@ns 55556]# tail -f nohup.out

JProfiler> Protocol version 21

JProfiler> Using JVMPI

JProfiler> 32-bit library

JProfiler> Listening on port: 8849.

JProfiler> Native library initialized

JProfiler> Waiting for a connection from the JProfiler GUI ...

// 以上為本地 JProfiler 連上前的系統提示

JProfiler> Using dynamic instrumentation

JProfiler> Time measurement: elapsed time

JProfiler> CPU profiling enabled

JProfiler> Starting org/anymobile/server/cmwap/CmwapServer ...

 

2005/12/15 17:05:46 [ INFO] - Starting Cmwap Stand Server ...
2005/12/15 17:05:47 [ INFO] - HandleThread runing ......

 

8 、補充說(shuō)明及參考

8.1 補充說(shuō)明

 

如果你希望動(dòng)態(tài)保存當前 Session 的運行數據的快照,點(diǎn)擊 JProfiler 的保存按鈕即可;

可以通過(guò) JProfiler Start Center Open snapshot tab 打開(kāi)保存的 Session ;

你也可以右鍵點(diǎn)擊某個(gè)視圖,靜態(tài)保存到 HTML 文件,文字描述加視圖圖片;

有一些視圖的數據只會(huì )運行一次,不會(huì )動(dòng)態(tài)的刷新,如內存視圖中的分配訪(fǎng)問(wèn)樹(shù)等視圖;

WinXP JProfiler 似乎不支持中文, 2K 下支持的,上面有一些圖片是在 2K 系統上截取的;

另外, JProfiler 還可以監控某個(gè) Application Server 、 Applet ,功能非常強大,可以參考軟件自帶的 Help 。

 

8.2 參考

 

JProfiler Tutorials              http://www.ej-technologies.com/products/jprofiler/tutorials.html

What‘s new in JProfiler     http://www.ej-technologies.com/products/jprofiler/whatsnew41.html

JProfiler help                        http://resources.ej-technologies.com/jprofiler/help/doc/

Java Virtual Machine Profiler Interface  http://java.sun.com/j2se/1.3/docs/guide/jvmpi/index.html

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
JProfiler 5.1.4的使用方法
性能診斷利器 JProfiler 快速入門(mén)和最佳實(shí)踐
為何服務(wù)器QPS上不去?Java線(xiàn)程調優(yōu)權威指南
九大工具助你玩轉Java性能優(yōu)化
Jprofile解析dump文件使用詳解
Tomcat性能調優(yōu)方案
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久