是否有人在 Jetty 和 Tomcat 的生产环境中使用过 Grails 应用程序并注意到任何重要差异?当我更新到 6.0.26 时,我开始遇到 tomcat 6.0.24 的内存不足问题,我想知道 Jetty 是否也有这种问题。
最佳答案
我注意到问题是 Tomcat 很糟糕而 Jetty 没有:
问题一:与Jetty相比,Tomcat似乎存在热部署内存泄漏(至少在版本7之前)。如果您热部署几次,permgen 空间会随着每次部署而增长。可能的解决方案:
- 增加 permgen 空间(临时修复):-XX:PermSize=SIZE,-XX:MaxPermSize=SIZE(在 sun jvm 中)
- 停止tomcat并部署
问题 2:Tomcat 没有将参数放入 http PUT 请求的负载部分。要解决此问题,您可以执行以下操作之一:
- 改用 POST(我觉得这是一个 hack)
- 使用inpustream读取并解析参数
- 通过url传递参数
关于运行 Grails 应用程序时 Tomcat 和 Jetty 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3271449/