2012-11-17 114 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