您好,登錄后才能下訂單哦!
一些來自您希望過濾掉的包中的數據會不合邏輯地出現在概要分析視圖中。這是一個已知的問題。
各種概要分析選項(如圖8所示)允許您進一步指定概要分析代理可以收集的性能數據的詳細程度。選擇適當的選項,然后單擊 Next 以進行下一步操作。
圖8. 指定概要分析選項
498)this.style.width=498;" />
Profiler 現在配置完畢。單擊 Finish。
在成功地完成了 Profiler 的配置過程之后,系統就啟動 Profiling 透視圖。已配置的概要分析代理會顯示在 Profiling Monitor 中。單擊 OK以進行下一步操作。
圖9. Profiler 設置完畢
498)this.style.width=498;" />
498)this.style.width=498;" />
498)this.style.width=498;" />
選擇實驗#1將引出如下所示的頁面:
圖13. J2EE 透視圖——實驗1
498)this.style.width=498;" />
實驗1是一個簡單的應用程序,它把 Employee 類的實例序列化成一個文件。在大多數分布式應用程序中,類的序列化是一個基本的活動。在這第一個實驗中,Employee 類的所有成員都將進行序列化。然而,正如您將在實驗2中看到的,Employee 類中的某些成員對序列化的目的來說可認為是不重要的,它們被標記為瞬態,并且不進行序列化。因此,實驗2中的 Employee 類,需要進行的序列化工作將比較少,而且實驗2的性能應該會好得多。不過,在運行實驗2之前,我們將回到 Profiling Profiling 透視圖,以進一步分析實驗1的性能特征。
這些性能數據都是自動收集的,但是并不顯示出來。選擇 Refresh Views 使 Profiler 以最新的數據填充視圖:
圖14. 概要分析透視圖-- Refresh 視圖
498)this.style.width=498;" />
下面的圖15展示了 Profiling 透視圖中的 Package Statistics 視圖。該視圖使您能夠更全面地了解應用程序中的哪些包需要最多的對象實例和內存。如前所述,一些需要過濾掉的系統級包出現在此視圖中。在我們的示例中, acme.business.domain package包是最耗資源的:
圖15. Profiling 透視圖——Package Statistics 視圖
498)this.style.width=498;" />
下面的圖16顯示了 Profiling 透視圖中的 Class Statistics 視圖。該視圖展示了應用程序中的哪些類需要最多的對象實例和內存。在下面的視圖中,類 Project 和 NotTransientEmployee 需要最多的實例和內存,如字段 Total Instances 和 Total Size 所示。Collected 字段指示在全部實例中有多少作為垃圾回收了,又有多少內存由此釋放了。因此,在 Active Size 字段顯示的該類當前占用的內存數量中考慮了作為垃圾回收的實例。在用于實驗1的示例中,我們可以看到(請參見下面的圖16), NonTransientEmployee 和 Project 類需要最多的內存和全部實例中的大多數,其中沒有一個顯示為作為垃圾回收。
圖16. Profiling 透視圖——Class Statistics 視圖
498)this.style.width=498;" />
下面的圖17顯示了 Profiling 透視圖中的 Method Statistics 視圖。該圖展示了哪些方法需要最多的執行時間。它還指示了調用一個方法需要多少時間。Base Time 字段指示運行一個方法需要多少時間,其中不包括花在調用和運行其他方法上的時間。Cumulative Time 字段指示執行一個方法的總時間是多少,其中包括花在調用和運行其他方法上的時間。Calls 字段指示調用特定方法所需的時間。Average Base Time 字段中的值等于 Base Time 字段中的值除以 Call 字段中的值。在用于實驗1的示例中,,我們可以看到(請參見下面的圖17), writeNonTransientEmployees() 方法盡管在此應用程序中只調用了一次,但是卻顯然需要最多的執行時間。而且,所有的時間都花在此方法中,而沒有用在調用其他的方法上。
圖17. Profiling 透視圖——Method Statistics 視圖
498)this.style.width=498;" />
下面的圖18顯示了 Profiling 透視圖中的 Object References Table 視圖,它顯示了對其他類的引用的數量。在下面的圖18中,Number of References 字段沒有填充。這是 Profiler 中一個已知的問題。
圖18. Profiling 透視圖——Object References Table 視圖
498)this.style.width=498;" />
既然您已經被引入了關鍵的 Profiling 視圖,就關閉 Profiling 透視圖并且停止 WebSphere Test Server ProfileServer。在 概要分析(Profiling)下再一次啟動 ProfileServer。選擇 profiling.html 頁面,然后再一次選擇 Profile on Server。嘗試對實驗2進行概要分析。下面的圖19在內部 Web 瀏覽器中展示了 Experiment 2 的結果。再一次打開 Profiling 透視圖,然后打開上面討論的 Profiling 視圖。在大多數情況下,實驗的結果將使您確信實驗2在內存和執行時間方面提供了更好的性能。
圖19. J2EE 透視圖——實驗2
498)this.style.width=498;" />
本文討論了 WebSphere Studio Profiler 所用的結構組件,并且向您展示了如何安裝、配置和使用 Profiler 來更好地理解應用程序的運行時行為。本文還討論了如何在 Profiling perspective of WebSphere Studio 提供的各種視圖中提交和解釋性能數據。后續的文章將描述如何對運行在 WebSphere Application Server 上的遠程應用程序進行概要分析以及如何使用 J2EE Request Profiler。
(責任編輯:城塵)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。