我在我的应用程序中使用Struts2。当用户数量较少时,它工作正常。 但是实时有大约3000个请求到达应用程序。过了一段时间我的JVM崩溃了。我检查了线程转储,它似乎在执行OGNL表达式时被很多线程阻塞。Struts2性能问题
在挑选时间内,CPu利用率总是在130%左右。请告诉我什么是在高度可扩展的环境中运行stuts2应用程序的最佳方法。
我在我的应用程序中使用Struts2。当用户数量较少时,它工作正常。 但是实时有大约3000个请求到达应用程序。过了一段时间我的JVM崩溃了。我检查了线程转储,它似乎在执行OGNL表达式时被很多线程阻塞。Struts2性能问题
在挑选时间内,CPu利用率总是在130%左右。请告诉我什么是在高度可扩展的环境中运行stuts2应用程序的最佳方法。
http://struts.apache.org/2.0.14/docs/performance-tuning.html
请参阅本link.This可能会有帮助。
您正在使用哪个版本的Struuts2? OGNL表达式语言存在一些已知的问题。
遵循struts2的邮件列表,在此线程它可能帮助üOGNL Discussion
最近出现了很多与OGNL的性能提升,从而只需指定Struts2的版本
struts2-core-2.2.1.jar,ognl-3.0.jar – BOSS 2011-02-28 06:42:34
struts.ognl.enableExpressionCache
###缓存解析OGNL表达式,但可能会导致内存泄漏
###如果应用程序产生大量不同表情的
struts.ognl.enableExpressionCache =真
你可以扩展你如何做测试。结果究竟是什么,也许如果你有一些奇怪的OGNL表达式显示它们。如果您使用的是测试框架,请将其添加到此问题标签中,因为您可以在受众群体中获得更多专家测试人员。 – Quaternion 2011-02-25 18:37:13
当您的JVM崩溃时,错误是什么? – 2011-02-25 21:15:37
@Steven:由于JVM中的内存中断,它会崩溃,导致内存中断的原因是很多线程被阻塞。 – BOSS 2011-02-28 06:47:01