我想问问你的经验。在过去的几个月里,我们解决了一些主要的性能问题。当用户使用我们的 JSF / PrimeFaces Web 应用程序更长的时间时,运行时性能变得越来越慢。这是我们的环境:
- JBoss 应用服务器 (EAP 6.2.2)
- 爪哇 7 (45)
- JSF 2.1.25
- PrimeFaces 3.5.3
经过一段时间的研究,我们发现服务器JVM的CodeCache(默认48MB)快满了。重新启动应用服务器后,性能再次非常好。我们可以看到 CodeCache 的大小每天增加大约 3-4 MB。当它达到缓存限制时,性能正在下降。
我们首先使用了 JVM 参数-XX:+UseCodeCacheFlushing
。但它似乎没有刷新足够的内存。所以我们决定将代码缓存大小增加到 128MB ( -XX:ReservedCodeCacheSize=128m
)。现在性能好久了,但我们怕只是推迟了问题。
所以我只想问你们是否有人面临类似的问题。
- CodeCache 的使用量稳定增长是否正常?
- 推荐的 CodeCache 大小是多少?
我希望可以聊聊这个。也许任何人都可以给我们一个提示。
提前致谢, SlimShady