簡體   English   中英

如何在提供網頁請求時識別哪些方法正在吃飯?

[英]How to identify which methods are eating time while serving request for a webpage?

我的JSF(webapp)頁面需要很長時間才能加載。 通過firebug測試,大部分時間都花在等待服務器的響應上。 所以我認為服務器上的東西正在耗費時間。 我一直在嘗試使用基於Netbeans的分析器獲得一些提示,但在分析CPU性能時,它只顯示了從某個時間點開始在每種方法中花費的時間。 因此,當我發送頁面請求時,我無法弄清楚正在消耗的時間。

您能否提供一些提示,說明我應該如何獲得這些信息,即哪些方法在提供請求時正在節省時間?

我認為你應該看看一個Profiler工具 ,如果你有一個龐大的系統,並希望以專業的方式完成工作。 否則,您將在每次調用之前使用經過時間的方法跟蹤您自己的代碼(lol)

我已經使用過Borland OptimizeIt,它做得很好,回到過去:)

看一眼:

JProfiler的

YourKit

Jvisualvm (Java類本身) visualvm.java.net (在Netbeans中使用過)

如果你使用eclipse看看TPTP包

的Optimizeit

在服務器上花時間。 首先,我會檢查這是否意味着網絡正在誘導延遲(你需要檢查一下firebug如何衡量這一點)。

如果您確認不是網絡延遲問題,那么最佳路徑將是分析器,具體取決於您的平台和應用程序的大小,您可以做出最佳選擇。

例如,如果您的應用程序加載的類別少於65k,我會選擇jvisualvm,否則您可能會遇到問題。

啟動jvisualvm后,您可以將其附加到您的應用程序進程。 一旦進入那里,我建議你首先嘗試采樣分析,它在資源消耗方面不那么具有攻擊性(不確定你的場景有多大或多大,儀器分析可能太重而無法支持)。

您只需要將jvisualvm附加到您的過程,轉到Sampler並按下Start按鈕,將在該時間點之后收集數據,因此在您激活采樣后,您應該觸發您的請求,可能需要幾次以便您可以獲得更好地了解時間花在哪里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM