繁体   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