【发布时间】:2013-09-08 15:25:43
【问题描述】:
有没有人知道为什么一个 Grails 应用程序在 tomcat 中的运行速度比通过 grails run-app 慢 4 倍(6 和 7)?否则,我将不胜感激有关如何自己追踪此问题的一般建议。
情况
我有一个 Web 应用程序,它执行一些相当密集的 XML 处理(解析、xpath、序列化)。对于较大的输入,通过grails dev run-app 运行时返回结果大约需要 5 秒。
当我在 tomcat6 中运行相同的应用程序时慢 4 倍!
grails dev war
cp target/app.war /path/to/tomcat[6|7]/webapps
相同的应用、相同的环境、相同的机器:响应相同的 POST 需要 4 倍的时间(20 秒)。
- tomcat 中没有记录错误;只是我期望的日志输出
- Tomcat 在非调试模式下运行(Ubuntu 13.04 默认设置 +
-XX:MaxPermSize=512m) - Java 版本相同
更新
以下代码在 Tomcat 中的运行速度似乎慢了大约 12 倍:
XPathFactory.newInstance().newXPath()
...我,嗯,经常这么叫。好吧,现在已经解决了,但我仍然想知道:
- 什么可能导致这在 Tomcat 中如此缓慢?
- 我可以采取哪些工具/方法来更轻松地实现这一发现? (我做了很多手动调试来解决这个问题。)
【问题讨论】:
-
Java 版本一样吗?
标签: performance tomcat grails tomcat6