<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    云自無心水自閑

    天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
    posts - 288, comments - 524, trackbacks - 0, articles - 6
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    我的struts2項目性能調優(yōu)三步曲

    Posted on 2008-07-01 13:33 云自無心水自閑 閱讀(6674) 評論(7)  編輯  收藏 所屬分類: Java心得體會Struts2DojoJQuery
    前一段時間有反映說是一個使用了struts2的生產系統(tǒng)的頁面顯示速度太慢。登錄后發(fā)現(xiàn)確實如此,于是進行了一番性能調優(yōu)的研究和測試。
    一,根據(jù)struts2官方的性能調優(yōu)說明進行了一些參數(shù)的修改。
    http://struts.apache.org/2.x/docs/performance-tuning.html
    http://cwiki.apache.org/WW/performance-tuning.html

    Turn off logging and devMode.(關閉logging和Devmode)
    這個當然沒問題,但是全部關閉logging不現(xiàn)實,我只是關閉了struts2相關package的logging

    Do not use interceptors you do not need.
    把struts.xml中不需要的interceptor統(tǒng)統(tǒng)刪除

    Use the correct HTTP headers (Cache-Control & Expires).
    不確定應該如何修改

    Copy the static content from the Struts 2 jar when using the Ajax theme (Dojo) or the Calendar tag.
    關于這點,后面會提到

    Create a freemarker.properties file in your WEB-INF/classes directory.
    照做

    Create the freemarker.properties file and add the following setting (or whatever value you deem fitting):
    template_update_delay=60000
    照做

    Enable Freemarker template caching
    As of Struts 2.0.10, setting the property struts.freemarker.templatesCache to true will enable the Struts internal caching of Freemarker templates. This property is set to false by default.
    照做

    進行上述修改后,發(fā)現(xiàn)頁面打開的速度并沒有明顯的提高.

    二,此時我已經基本鎖定網頁打開速度慢的原因與ajax(或者說是dojo)有關。因為dojo的js庫大概有450K左右,先嘗試使用gzip壓縮javascript,減小傳輸量,看能否加快頁面的加載速度
    在Tomcat的server.xml的connector中添加如下配置,激活gzip功能
     compression="on"
     compressionMinSize="2048"
     noCompressionUserAgents="gozilla, traviata"
     compressableMimeType="text/html,text/xml,text/javascript,application/x-javascript,application/javascript"
    進行上述修改后,發(fā)現(xiàn)頁面打開的速度還是沒有明顯的提高.

    三,經過上述兩個實驗,覺得應該是struts2所封閉的dojo的性能問題了。于是引入JQuery.
    JQuery的js文件最小是55K, gzip后應該更小,頁面的響應速度明顯改善(一個數(shù)量級以上的提高),主要原因在于與服務器交互的處理上極大地提升了效率。而且頁面處理代碼更加簡潔明了。

    最后,我刪除了所有的<s:head theme="ajax"/>和 <s:head/>(如果頁面中加入<s:head />,那么在Struts2生成的html中后包含dojo.js),使用JQuery來完成所有的Ajax和javascript功能。




    評論

    # re: 我的struts2項目性能調優(yōu)三步曲  回復  更多評論   

    2008-07-01 14:38 by Greco
    我在使用struts ajax 的時候也發(fā)覺慢的問題
    然后用Firebug查看發(fā)現(xiàn)加載的js太多,而且有些不是必須的
    所以按照yahoo ui 的15條軍規(guī)來看
    這絕對是影響頁面速度的關鍵

    # re: 我的struts2項目性能調優(yōu)三步曲  回復  更多評論   

    2008-07-01 23:42 by YYX
    struts2 的ajax主題很失敗,我和LZ一樣也是開始用了,后來發(fā)現(xiàn)不但影響速度而且效果也不行,轉而用jquery自己完成ajax功能

    # re: 我的struts2項目性能調優(yōu)三步曲  回復  更多評論   

    2008-07-02 07:33 by 云自無心水自閑
    其實struts2另外一個性能的瓶頸在于ognl,但是我現(xiàn)在還沒有什么好方法來解決

    # re: 我的struts2項目性能調優(yōu)三步曲  回復  更多評論   

    2008-07-02 07:49 by 云自無心水自閑
    ognl已經升級到2.7,據(jù)稱性能有顯著提高,但是與MVEL相比,還是有一個數(shù)量級的差別。 :(

    # re: 我的struts2項目性能調優(yōu)三步曲  回復  更多評論   

    2008-07-02 07:52 by 云自無心水自閑
    這是TSS上的OGNL與MVEL的性能對比的文章

    # re: 我的struts2項目性能調優(yōu)三步曲  回復  更多評論   

    2008-07-02 07:52 by 云自無心水自閑
    http://www.theserverside.com/news/thread.tss?thread_id=46083

    # re: 我的struts2項目性能調優(yōu)三步曲  回復  更多評論   

    2009-10-27 14:23 by fengye_nothing
    aaaaaaaaaaaaa
    主站蜘蛛池模板: 国产精品1024永久免费视频| 免费人成在线观看视频播放| 日本人的色道www免费一区| 亚洲国产综合91精品麻豆| 亚洲av乱码中文一区二区三区| 97无码免费人妻超级碰碰碰碰| 亚洲gv猛男gv无码男同短文| 伊人免费在线观看高清版| 亚洲毛片αv无线播放一区| 三年片免费观看大全国语| 狠狠久久永久免费观看| 亚洲第一香蕉视频| 久久精品免费一区二区| 国产精品亚洲片在线观看不卡| 国产亚洲福利一区二区免费看| 国产青草视频免费观看97| 亚洲三级在线视频| 最近中文字幕无吗免费高清| 亚洲香蕉免费有线视频| 成在人线av无码免费高潮喷水| 无码乱人伦一区二区亚洲一| 成人免费一区二区三区 | 亚洲国产成人久久精品软件| 久久99青青精品免费观看| 亚洲人成影院在线| 岛国av无码免费无禁网站| 免费一级毛suv好看的国产网站| 天堂在线免费观看中文版| 阿v免费在线观看| 又爽又高潮的BB视频免费看| 国产在线观看xxxx免费| 亚洲日产2021三区在线| 日本一道一区二区免费看| 成人妇女免费播放久久久| 亚洲成人福利在线| 亚洲av午夜精品一区二区三区 | baoyu777永久免费视频| 亚洲成a人片7777| 免费成人黄色大片| 91成人在线免费视频| 午夜亚洲乱码伦小说区69堂|