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

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

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

    隨筆 - 42  文章 - 71  trackbacks - 0
    <2009年7月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿

    隨筆檔案

    文章分類(lèi)

    文章檔案

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    1. 目的

    Sitemesh 是一個(gè)很好的頁(yè)面渲染框架,基本上我現(xiàn)在所在項(xiàng)目都是適用sitemesh做頁(yè)面框架和整合渲染的,給頁(yè)面部分的工作帶來(lái)了很大的便利性。

    在sitemesh的文檔中,對(duì)于sitemesh的工作原理給出了一個(gè)圖示,根據(jù)這個(gè)圖可以看出,sitemesh是通過(guò)組合適用filter和標(biāo)簽將被渲染頁(yè)面的內(nèi)容抽取出來(lái),再整合到一個(gè)統(tǒng)一的框架頁(yè)面中去。曾經(jīng)有一段時(shí)間測(cè)試環(huán)境的Websphere服務(wù)器頻繁出現(xiàn)內(nèi)存溢出的問(wèn)題,在跟蹤內(nèi)存溢出問(wèn)題時(shí),發(fā)現(xiàn)sitemesh組件使用StringBuffer對(duì)象進(jìn)行大量?jī)?nèi)存申請(qǐng)的動(dòng)作。這就需要檢測(cè)sitemesh具體是如何來(lái)分析頁(yè)面的,我的猜測(cè)就是將被渲染的頁(yè)面中的最終HTML代碼展出到一個(gè)大的字符串,然后根據(jù)關(guān)鍵標(biāo)簽來(lái)進(jìn)行分析和內(nèi)容抽取,然后再整合到框架頁(yè)面中。先不管sitemesh是用什么方式來(lái)分析、抽取和整合的,他對(duì)于內(nèi)存的影響是比較明顯的,所以,本實(shí)驗(yàn)的目的就是比較使用sitemesh和不使用sitemesh時(shí),運(yùn)行期性能是否存在差異。

     

    2. 環(huán)境

    本實(shí)驗(yàn)使用到的環(huán)境如下:

    · OS: Windows XP Professional SP2

    · HW: Intel Core 2 Duo T7300 2.0GHz, 2GB RAM

    · Web Server: Resin 3.2.1

    · Sitemesh: 2.3

    · Test Tool: Load Runner 8.0

    · JDK: Java HotSpot(TM) Client VM 1.5.0_09-b03

    · Analysis Tool: IBM Pattern Modeling and Analysis Tool for Java Garbage Collector 2.5

     

     

    3. 過(guò)程

    1. 使用ant example創(chuàng)建sitemesh自帶的example web應(yīng)用

    2. 在sitemesh example應(yīng)用中加入一個(gè)JSP頁(yè)面data.jsp,該頁(yè)面中包含一個(gè)43行7列的靜態(tài)表格,表格部分的HTML源碼約17KB

    3. 同樣制作上述數(shù)據(jù)的非sitemesh處理頁(yè)面data_nosm.jsp,在sitemesh的配置文件decorators.xml中將data_nosm.jsp添加到排除列表

    4. 以展開(kāi)包的方式部署sitemesh example應(yīng)用到resin服務(wù)器

    5. 設(shè)置resin的JVM參數(shù)為:-Xms64m -Xmx256m -XX:MaxPermSize=256m -Xss1m -verbose:gc -Xloggc:C:/apps/resin-3.2.1/gc.log -XX:+PrintGCDetails

    6. 在Load Runner中制作2個(gè)壓力測(cè)試腳本,一個(gè)用來(lái)請(qǐng)求data.jsp,一個(gè)用來(lái)請(qǐng)求data_nosm.jsp

    7. 在Load Runner中設(shè)計(jì)壓力測(cè)試場(chǎng)景:10個(gè)用戶(hù),持續(xù)請(qǐng)求5分鐘,每個(gè)用戶(hù)的每輪請(qǐng)求中包含10次對(duì)于頁(yè)面的請(qǐng)求

    8. 重新啟動(dòng)resin服務(wù)器,進(jìn)行data.jsp的壓力測(cè)試。測(cè)試完成之后,收集Load Runner的數(shù)據(jù)以及GC的數(shù)據(jù)

    9. 重新啟動(dòng)resin服務(wù)器,進(jìn)行data_nosm.jsp的壓力測(cè)試。測(cè)試完成之后,收集Load Runner的數(shù)據(jù)以及GC的數(shù)據(jù)

    10. 數(shù)據(jù)匯總及處理

     

     

    4. 結(jié)果

    根據(jù)測(cè)試的結(jié)果,整理GC部分和壓力測(cè)試部分的數(shù)據(jù)如下:

     

    使用sitemesh

    未使用sitemesh

    GC次數(shù)

    6,746

    74

    Full GC次數(shù)

    1

    1

    GC消耗

    0.02

    0.00

    GC暫停(秒)

    7.00

    0.00

    最大持久代(字節(jié))

    8,388,608.00

    8,388,608.00

    平均持久代(字節(jié))

    6,036,328.00

    6,205,085.00

    最大舊生代(字節(jié))

    61,983,744.00

    59,024,384.00

    平均舊生代(字節(jié))

    42,583,685.00

    31,929,903.00

    最大新生代(字節(jié))

    61,983,744.00

    59,024,384.00

    平均新生代(字節(jié))

    4,426,710.00

    4,610,566.00

    請(qǐng)求次數(shù)

    137,344.00

    198,188.00

    平均每秒請(qǐng)求

    454.78

    658.43

    頁(yè)面平均響應(yīng)時(shí)間(秒)

    0.042

    0.029

    上表的數(shù)據(jù)制作成圖表如下(為了便于圖表顯示,部分?jǐn)?shù)據(jù)進(jìn)行了放大):

     

    未命名

    在上表中,GC消耗和GC暫??剂恐笜?biāo)中,未使用sitemesh的情況下顯示為0,是因?yàn)樗玫姆治龉ぞ逫BM Pattern Modeling and Analysis Tool for Java Garbage Collector 2.5的顯示精度不足導(dǎo)致,實(shí)際的并非是真正的0,而應(yīng)該是一個(gè)很小的數(shù)值。

    從數(shù)據(jù)上看,使用sitemesh和不使用sitemesh對(duì)于虛擬機(jī)堆內(nèi)存的使用差異不太大,但是在GC次數(shù)上的差異很大。從GC日志的詳細(xì)信息可以看出,在使用sitemesh時(shí),發(fā)生次要GC(Minor GC)的頻率非常的高,可以推斷在運(yùn)行時(shí)期產(chǎn)生了大量的短生命周期的對(duì)象,然后又迅速的被釋放,GC在新生代就已經(jīng)完成了。主要GC(Major GC, Full GC)在使用sitemesh和不使用的情況下,均發(fā)生了1次,而且這1次主要GC也是在resin啟動(dòng)中發(fā)生的,不是應(yīng)用在進(jìn)行壓力測(cè)試時(shí)發(fā)生的。由于使用sitemesh時(shí)的GC次數(shù)遠(yuǎn)遠(yuǎn)大于不使用sitemesh,所以在整個(gè)測(cè)試過(guò)程中,GC上消耗的時(shí)間也是差異非常大的。

    從壓力測(cè)試的探測(cè)可以看出,不使用sitemesh時(shí)完成的請(qǐng)求數(shù)是使用sitemesh時(shí)的144.3%。同時(shí)頁(yè)面響應(yīng)時(shí)間也僅為使用sitemesh時(shí)的69.0%。

     

    5. 結(jié)論

    從上述測(cè)試數(shù)據(jù)來(lái)分析,使用sitemesh對(duì)于系統(tǒng)性能是有較大的影響的,主要表現(xiàn)在GC的次數(shù)會(huì)顯著增多。建議在大壓力、頁(yè)面內(nèi)容大的系統(tǒng)中,慎重選擇sitemesh,并且使用之前對(duì)其帶來(lái)的性能影響進(jìn)行一個(gè)較為合理、全面的評(píng)估。

    Technorati 標(biāo)簽: ,,,,
    posted on 2009-07-14 22:17 YODA 閱讀(3361) 評(píng)論(8)  編輯  收藏

    FeedBack:
    # re: Sitemesh對(duì)于性能的影響實(shí)驗(yàn)報(bào)告 2009-07-15 00:00 俊星
    條分縷析,樓主的文章很有嚴(yán)謹(jǐn)縝密啊。  回復(fù)  更多評(píng)論
      
    # re: Sitemesh對(duì)于性能的影響實(shí)驗(yàn)報(bào)告[未登錄](méi) 2009-07-15 09:42 YODA
    多謝俊星兄鼓勵(lì)!  回復(fù)  更多評(píng)論
      
    # re: Sitemesh對(duì)于性能的影響實(shí)驗(yàn)報(bào)告[未登錄](méi) 2009-07-15 09:45 a
    真的很?chē)?yán)謹(jǐn),值得學(xué)習(xí)。  回復(fù)  更多評(píng)論
      
    # re: Sitemesh對(duì)于性能的影響實(shí)驗(yàn)報(bào)告 2009-07-15 11:19 ahx
    非常感謝分析,是否可以用一個(gè)實(shí)際項(xiàng)目再測(cè)試一下呢。 例如,我們系統(tǒng)的一個(gè)頁(yè)面(非信息展示頁(yè)面)一般一個(gè)請(qǐng)求的處理時(shí)間60-80毫秒,這時(shí)會(huì)不會(huì)sitemesh對(duì)性能的影像就可以忽略了呢?   回復(fù)  更多評(píng)論
      
    # re: Sitemesh對(duì)于性能的影響實(shí)驗(yàn)報(bào)告 2009-07-15 11:57 99讀書(shū)人
    很不錯(cuò)哦  回復(fù)  更多評(píng)論
      
    # re: Sitemesh對(duì)于性能的影響實(shí)驗(yàn)報(bào)告[未登錄](méi) 2009-07-15 12:18 YODA
    謝謝樓上諸位兄臺(tái)的支持

    to: ahx 如果你的頁(yè)面響應(yīng)時(shí)間能夠在系統(tǒng)壓力高峰期控制在60-80毫秒這么短的時(shí)間,那么我覺(jué)得sitemesh的影響相對(duì)比重反倒更大,但是絕對(duì)值應(yīng)該很小。其實(shí)用與不用,只要能夠達(dá)到客戶(hù)要求的壓力指標(biāo)就可以了,比如客戶(hù)會(huì)給定一個(gè)多少并發(fā)的前提下,要求系統(tǒng)達(dá)到多少TPS。一切都是為了滿(mǎn)足需求,呵呵  回復(fù)  更多評(píng)論
      
    # re: Sitemesh對(duì)于性能的影響實(shí)驗(yàn)報(bào)告 2009-07-16 21:20 javafuns
    性能肯定是要受到影響的,尤其是頁(yè)面內(nèi)容越多,這種影響應(yīng)該更明顯  回復(fù)  更多評(píng)論
      
    # re: Sitemesh對(duì)于性能的影響實(shí)驗(yàn)報(bào)告 2010-03-20 10:24 rplees
    一串?dāng)?shù)字,然而切讓人付出心血。
    謝謝你的數(shù)字。我找到我所要的答案啦。  回復(fù)  更多評(píng)論
      

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲人成人77777网站| 亚洲成AV人片在线观看ww| 国产精品无码免费视频二三区| 亚洲AⅤ男人的天堂在线观看| 亚洲日韩精品射精日| 免费观看成人毛片a片2008| 草久免费在线观看网站| 亚洲AV日韩AV永久无码下载| a毛看片免费观看视频| 亚洲制服丝袜在线播放| 久久精品国产精品亚洲下载| 2020因为爱你带字幕免费观看全集| 亚洲AV无码一区二区二三区入口| 久久精品网站免费观看| 国产日韩AV免费无码一区二区三区 | 国产自国产自愉自愉免费24区| 国产精品亚洲自在线播放页码| 久艹视频在线免费观看| 激情无码亚洲一区二区三区| 国产成人免费网站在线观看 | 91禁漫免费进入| 亚洲欧洲日产国产最新| 国产精品亚洲二区在线观看| 毛片免费全部免费观看| 西西人体免费视频| 黄网站色视频免费看无下截| 亚洲国产成+人+综合| 久久精品国产亚洲网站| 亚洲av无码成人精品区在线播放 | 久久亚洲精品成人AV| 久久久久亚洲AV成人网人人网站| 成人激情免费视频| 最近中文字幕mv免费高清在线| 一区二区三区免费高清视频| 亚洲av成人一区二区三区观看在线 | 免费无码AV片在线观看软件| **俄罗斯毛片免费| 无码人妻AV免费一区二区三区| 亚洲图片校园春色| 亚洲av女电影网| 国产精品国产亚洲精品看不卡|