0

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

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

  • 删除了 Struts 中的开发模式
  • 停止使用 defaultStack 并尝试使用 basicStack 作为拦截器堆栈
  • 启用模板缓存
  • 将 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)
4

1 回答 1

1

Struts2 性能调优

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

  2. TimerInterceptor来识别动作执行时间尝试减少它。

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

于 2012-11-17T03:27:02.243 回答