我可以使用哪些技术来修改一组JSP来衡量JSP的整体性能,然后进一步缩小并确定JSP中花费最多时间的特定区域?
我目前的方法是简单地使用scriptlet和System.currentTimeMillis():
JSP的顶部
<%
StringBuilder result = new StringBuilder();
long startTime = System.currentTimeMillis();
%>
Run Code Online (Sandbox Code Playgroud)
... JSP代码在这里
<%
long duration = System.currentTimeMillis() - startTime;
if (duration > 100L) { //over 100 ms
result.append("JSP page took "+duration+"ms");
}
%>
<!-- <%=result%> -->
Run Code Online (Sandbox Code Playgroud)
但问题是:
#1 - 黄金法则 - 不要在JSP中放置任何逻辑.写自定义标签.将任何逻辑提取到java代码中.JSP是表示层.
#2 - 在分析器中运行servlet容器(比如jvisualvm甚至更好:yourkit).这将告诉您确切的时间花在哪里
注意 - 现在您不需要"在分析器中运行应用程序" - 如果使用JDK6 +,您可以弹出yourkit或jvisualvm(随JDK一起提供)并在运行时神奇地附加.它真的很方便.
| 归档时间: |
|
| 查看次数: |
590 次 |
| 最近记录: |