2012-11-17 119 views
0

我开发了一个使用Struts2的门户,其中大部分操作都是通过Ajax调用来调用的。但是,我看到每个动作被执行的意外执行时间。例如,对于没有数据库调用的任何其他操作(只返回搜索框),大约需要250〜300 mS。Struts2-如何减少执行时间

到目前为止,我已经尝试了以下步骤,但在执行时间方面没有太多改进。请建议可以做些什么以使其更快。

  • 删除开发模式在Struts中
  • 使用defaultStack &使用basicStack作为拦截器栈
  • 启用templatesCache
  • 设置templatesCache.updateDelay试图为60000

编辑停止:

I即使在功能上没有问题,也会看到此错误。有任何想法,这是否与延迟有任何关系吗?

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) 
+0

如果已编辑到现有问题中,请不要创建新问题。 –

+0

我不确定这个编辑是否会得到通知。对不起。 – Sudarsan

回答

1

Struts2 Performance Tuning

  1. 不要用你不需要拦截器。找出并从basicStack中删除。

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

  3. 对于2.3以前的Struts 2版本:OGNL版本3.0.3库是老式OGNL jar的替代替代品,并提供更好的性能。

+0

那么,我一直在使用TimerInterceptor来检查定时,将修复性能问题后将其删除。我已经在使用OGNL 3.0.3版本。任何有关每次行动花费时间的实际经验?对于简单的动作执行,这个250〜300 mS是可接受的值吗? – Sudarsan