<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è)用戶,持續(xù)請(qǐng)求5分鐘,每個(gè)用戶的每輪請(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á)到客戶要求的壓力指標(biāo)就可以了,比如客戶會(huì)給定一個(gè)多少并發(fā)的前提下,要求系統(tǒng)達(dá)到多少TPS。一切都是為了滿足需求,呵呵  回復(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è)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲国产精品碰碰| 免费观看国产小粉嫩喷水| 成人免费黄色网址| 德国女人一级毛片免费| 日韩亚洲国产二区| 三上悠亚亚洲一区高清| 亚洲AV日韩AV天堂一区二区三区| 亚洲综合国产精品| 亚洲综合av一区二区三区| 色屁屁在线观看视频免费| APP在线免费观看视频| 成年人免费的视频| 免费亚洲视频在线观看| 国产亚洲精品无码成人| 亚洲天堂一区二区三区| 国产综合成人亚洲区| 中文字幕视频在线免费观看| 四虎在线视频免费观看视频| 成年女人永久免费观看片| 中文字幕第一页亚洲| 亚洲激情电影在线| 色屁屁www影院免费观看视频| 久久aa毛片免费播放嗯啊| 女人18毛片a级毛片免费| 亚洲午夜久久久影院伊人| 亚洲人成网网址在线看| 全黄A免费一级毛片| 91高清免费国产自产| 免费大黄网站在线观| 亚洲综合男人的天堂色婷婷| 老司机福利在线免费观看| 182tv免费视视频线路一二三| 五月婷婷亚洲综合| 亚洲国产精品成人综合色在线婷婷| 国产精品亚洲专区无码不卡| 亚洲精品免费观看| 亚洲国产午夜中文字幕精品黄网站| 久久综合亚洲色一区二区三区| 免费人成又黄又爽的视频在线电影| 亚洲电影在线免费观看| 亚洲人成影院在线观看 |