0

我的 JSF (webapp) 页面需要很长时间才能加载。通过firebug测试,大部分时间都花在等待服务器响应上。所以我认为服务器上的一些东西会占用时间。我一直在尝试使用基于 Netbeans 的分析器获得一些提示,但是在分析 CPU 性能时,它只显示了从某个时间点以来每种方法所花费的时间。因此,当我发送页面请求时,我无法弄清楚是什么占用了时间。

您能否就我应该如何获得这些信息提供一些提示,即在服务请求时哪些方法正在吃时间?

4

2 回答 2

1

如果您有一个大型系统并希望以专业的方式完成工作,我认为您应该看看Profiler 工具。否则,您最终会在每次调用之前使用经过时间的方法跟踪您自己的代码(大声笑)

我曾经使用过 Borland OptimizeIt,它在过去做得很好:)

看一眼:

JProfiler

你的套件

Jvisualvm(Java 自己的)visualvm.java.net ( 也用于 Netbeans)

如果您使用 Eclipse,请查看TPTP 捆绑包

优化它

于 2013-09-04T15:26:40.260 回答
1

在服务器上花费的时间。首先,我会检查这是否意味着网络正在诱导延迟(您需要检查 firebug 如何测量这一点)。

如果您确认不是网络延迟问题,那么最好的方法是使用分析器,根据您的平台和应用程序的大小,您可以做出最佳选择。

例如,如果您的应用程序加载的类少于 65k,我会选择 jvisualvm,否则您可能会遇到问题。

启动 jvisualvm 后,您可以将其附加到您的应用程序进程中。一旦进入那里,我建议您首先尝试采样分析,它在资源消耗方面不那么激进(不确定您的场景有多大或负载有多大,仪器分析可能太重而无法支持)。

您只需要将 jvisualvm 附加到您的流程中,转到 Sampler 并按 Start 按钮,将在该时间点之后收集数据,因此在您激活采样后,您应该触发您的请求,也许几次这样您就可以得到更好地了解时间花在哪里。

于 2013-09-05T05:38:54.807 回答