• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    評測Tomcat5負載平衡與集群

    發布: 2007-5-25 14:12 | 作者: 未知 | 來源: JR | 查看: 64次 | 進入軟件測試論壇討論

    領測軟件測試網

    硬件系統:

        CPU:AthlonXP 2500+

        內存:HY 1GB DDR333 SDRAM

        硬盤:Matrox 金鉆 40GB (7200rpm、 2MB緩存)

        主板:華擎K7VM4

    軟件系統:

        操作系統:Microsoft Windows XP with Service Pack 2

        負載平衡器:Apache Httpd Server2.0.52+ mod_jk2.0.4

        集群節點:Tomcat 5.5.4 × 4

        測試應用:struts-blank.war中的/Welcome.do

        測試客戶端:ApacheBench

    測試結果:

    次數每秒處理請求數次數每秒處理請求數
    平衡負載集群
    并發1請求,執行請求總數為40000
    1263.61172.26
    2263.96284.82
    3263.32385.03
    并發200請求,執行請求總數為40000
    1529.55194.89***
    2534.42293.11
    3529.76391.22
    并發500請求,執行請求總數為100000*
    1522.44186.33**/***
    2511.26286.87**/***
    3521.48386.51**/***

    注解:

    *:在并發五百連接的測試中,負載平衡器會拋出“指定網絡名稱不可用”的錯誤,具體在這里:

        [Mon Nov 17 01:43:39 2003] [warn] (OS 64)The specified.network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed.

        出現這樣的問題,我的解決方法是:禁止使用AcceptEx,方法為在httpd.conf文件中增加Win32DisableAcceptEx標記,例如:

            <IfModule mpm_winnt.c>

            …

            Win32DisableAcceptEx

            …

        </IfModule>

        雖然這樣會使負載平衡器的性能降低一些,但是總之還是通過了嚴格的并發五百連接的測試。

    **:數據是在提供集群服務的本機上進行測試得到的。

    ***:測試前重啟集群節點和負載平衡器。

    結論

    1.平衡負載

        本測試使用mod_jk默認的以輪循方式進行平衡負載,以這次測試舉例:假設有10個請求,則四個節點分別接受請求編號如下:

    Node 1Node 2Node 3Node 4
    1234
    5678
    910  

        以下的集群方式也是使用這種方法進行平衡。

        由測試結果可以看出,負載平衡是為擁有高并發量的網站準備的。同樣是40000個請求,使用并發二百個連接比單連接執行效率高出近兩倍。而并發五百個請求的重型測試性能并不比并發連接數少的測試低多少。

        因此,平衡負載對于流量大且對高可用性(主要是會話服務)需求不是很苛刻的網站來說還是一個比較實用的方案。

    2.集群

        Tomcat中的集群原理是通過組播的方式進行節點的查找并使用TCP連接進行會話的復制。

        這里提示一下就是,對每個請求的處理,Tomcat都會進行會話復制,復制后的會話將會慢慢變得龐大,例如該項并發五百連接的集群測試,測試后復制的會話大小達到了70MB,而使用的總內存更是達到了1GB以上,因此如果進行下一項測試,就必須對系統進行重新啟動來初始化內存以得到正確的數據,這就是測試數據內有“***”符號的原因。

        相對于單純的負載平衡,由于集群服務需要在處理請求之間不斷地進行會話復制,因此它的資源占用率是非常高的,這也降低了連接請求的處理速度,但增加了系統的高可用性。

        因此,對于硬件性能高(尤其是內存要大)且對用戶高可用性需求苛刻(不需重復保存會話中的數據,例如用戶連接任何一臺節點服務器不需要重新輸入密碼)的站點,選擇集群方式可以滿足需求。

    后續情況, 可以到偶的Blog中查看: http://blog.yipsilon.com

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>