【问题标题】:Struts2- How to reduce the execution timeStruts2-如何减少执行时间
【发布时间】:2013-08-05 03:41:15
【问题描述】:

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

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

  • 删除了 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)

【问题讨论】:

  • 如果新问题已被编辑为现有问题,请不要创建新问题。
  • 我不确定此编辑是否会收到通知。很抱歉。

标签: struts2 interceptor interceptorstack


【解决方案1】:

Struts2 Performance Tuning

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

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

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

【讨论】:

  • 嗯,我一直在使用 TimerInterceptor 来检查时间,将在修复性能问题后将其删除。我已经在使用 OGNL 3.0.3 版本。关于每个动作所花费的时间有什么实际经验吗?对于简单的动作执行来说,这个 250~300 毫秒是否可以接受?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-31
  • 2017-03-03
  • 2016-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多