放翁(文初)的一畝三分地

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            210 隨筆 :: 1 文章 :: 320 評論 :: 0 Trackbacks

          Author : 岑文初

          Email: wenchu.cenwc@alibaba-inc.com

          Blog: http://blog.csdn.net/cenwenchu79

          Date: 2009-5-26

          目錄

          需求轉而學習

          “軟”負載均衡

          LVS Linux Virtual Server

          Virtual Server三種模式介紹

          Virtual Server三種模式的比較

          Virtual Server三種模式實踐

          三種模式下的簡單壓力測試

          HA-Proxy

          HA-Proxy安裝和使用

          HA-Proxy的壓力測試結果

          負載學習心得

          Virtual Server三種模式實踐

          服務器資源:

                   10.2.225.128作為Load Balancer,10.2.225.13610.2.225.139作為后端的服務器。

                   10.2.225.13610.2.225.139上分別安裝Apache2.2.14,然后打開80端口,啟動Web服務。

          1. 安裝LVS配置工具(只需要在Load Balancer安裝即可)

          Linux操作系統當前大部分都已經支持Virtual Server,因此不需要再去編譯內核,只需要下載和安裝用戶配置工具ipvsadmin。首先請查看自己Linux操作系統內核的版本,我的版本是2.6.18。從http://www.linux-vs.org/software/ipvs.html#kernel-2.6下載了ipvsadm-1.24.tar.gz。安裝步驟如下:

          Tar –xzvf ipvsadm-1.24.tar.gz

          Ln –s /usr/src/kernels/2.6.18-128.el5-i686 /usr/src/linux (這部必須作,因為在編譯和安裝的時候需要用到目錄/usr/src/linux來獲得必要的外部依賴庫)

          Cd ipvsadm-1.24

          Make && make install

          輸入ipvsadm,如果看到以下內容證明安裝成功了:

          IP Virtual Server version 1.2.1 (size=4096)

          Prot LocalAddress:Port Scheduler Flags

           -> RemoteAddress:Port           Forward  Weight  ActiveConn  InActConn

          2. DR模式測試

          a.       10.2.225.128這臺Load Balancer的網卡綁定虛擬IP

          ifconfig eth0:0  10.2.225.211  netmask 255.255.255.0  broadcast 10.2.225.211  up

          b.       Load Balancer上建立虛擬IP。

          Ipvsadm –A –t 10.2.225.211:80 –s rr  //221 IP沒有實體機器在使用,因此作為虛擬IP使用,A表示建立虛擬IP,t表示是tcp協議,s表示負載算法,rrRound Robin。

          c.       Load Balancer上建立虛擬IP與兩個實體服務器的關系。

          ipvsadm -a -t 10.2.225.211:80 -r 10.2.225.136:80 -g -w 1 //將虛擬IP和端口關聯到實體機器上,a表示新建虛擬IP和實體機器的關聯關系,r后面跟實體機器地址和端口,g表示使用DR模式,w是權重。

          ipvsadm -a -t 10.2.225.211:80 -r 10.2.225.139 :80 -g -w 1

          d.       在另外兩臺實體服務器上建立虛擬IP與網卡回環的綁定關系。

          ifconfig lo:0  10.2.225.211 netmask  255.255.255.255  broadcast  10.2.225.211 up

                   下圖就是配置好以后再輸入ipvsadm查看到的虛擬配置信息

                   其中Route表示就是DR的模式,然后圖中ActiveConn表示連接數,這里是訪問一個發布在兩臺后端服務器的頁面帶來的連接數,訪問頁面的情況如下兩張圖:(主要是看返回頁面中服務器ip打印的不同)

          訪問頁面的結果和DR是一樣的,對虛擬IP的訪問,會輪詢到不同的后端服務器上。 

          三種模式下的簡單壓力測試

          簡單的壓力測試采用Apache ab,500并發用戶,10w的請求總數。

          總耗時(s)

          TPS(#/sec)

          NAT

          22.480

          4448.34

          TUNNEL

          10.707

          9339.80

          DR

          10.177

          9825.68

          可以看出NAT性能要比后兩種差一倍。

          LVS是從四層對消息進行負載轉發的,很大程度上是直接利用操作系統的特性來實現消息轉發,因此轉發損耗有限,但是NAT模式中Load Balancer對于性能的影響很大,同時對于負載壓力本身以及后臺節點數目有限制。在LVS基礎上有很多其他的開源軟件,增加了心跳等機制來保證集群的健壯性。而LVS并不能滿足根據應用參數或包體內容轉發請求的場景,因此進一步研究HA-Proxy,這種基于基于應用級別在7層對消息作分析轉發的負載均衡方案。

          posted on 2009-08-04 22:30 岑文初 閱讀(2090) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 巴林左旗| 玉山县| 岑溪市| 甘泉县| 江西省| 类乌齐县| 潍坊市| 大渡口区| 鲁甸县| 佳木斯市| 嘉祥县| 四平市| 宁城县| 安岳县| 桂平市| 高尔夫| 阿克苏市| 府谷县| 云和县| 正宁县| 伊川县| 巴马| 寿光市| 个旧市| 高淳县| 中山市| 阜城县| 亚东县| 宝丰县| 汶川县| 萨迦县| 搜索| 藁城市| 呼和浩特市| 翼城县| 盘锦市| 奉新县| 济宁市| 安阳县| 普陀区| 沁源县|