Struts2-如何减少执行时间

时间:2012-11-17 02:58:44

标签: struts2 interceptor interceptorstack

我使用Struts2开发了一个门户网站,其中大部分操作都是通过Ajax调用来调用的。但是,我看到每个动作都要执行一些意外的执行时间。例如,对于没有DB调用或任何其他操作的操作,只返回一个搜索框,大约需要250~300 mS。

到目前为止,我已经尝试了以下步骤,但执行时间没有太大改进。请提出建议,以便加快速度。

  • 在Struts中删除了开发模式
  • 停止使用defaultStack&尝试使用basicStack作为拦截器堆栈
  • 已启用templatesCache
  • 将templatesCache.updateDelay设置为60000

修改

即使功能没有问题,我也看到了这个错误。请问是否与延迟有任何关系?

ERROR finder.ClassFinder: Unable to read class [WEB-INF.classes.com.***.***.ConfigManagement]
Could not load WEB-INF/classes/com/***/***/ConfigManagement.class - [unknown location]
at com.opensymphony.xwork2.util.finder.ClassFinder.readClassDef(ClassFinder.java:785)

1 个答案:

答案 0 :(得分:1)

  

Struts2 Performance Tuning

  1. 请勿使用您不需要的拦截器。从basicStack中识别并删除它。

  2. TimerInterceptor确定行动执行时间,尝试减少它。

  3. 对于2.3之前的Struts 2版本:OGNL 3.0.3版库是旧版OGNL jar的直接替代品,可提供更好的性能。