分享

“软”负载均衡学习点滴(二)...

 Dawnxu 2009-08-05

原创  “软”负载均衡学习点滴(二) 收藏

Author : 岑文初

Email: wenchu.cenwc@alibaba-inc.com

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

Date: 2009-5-26

目录

需求转而学习... 2

“软”负载均衡... 2

LVS Linux Virtual Server... 3

Virtual Server三种模式介绍... 3

Virtual Server三种模式的比较... 5

Virtual Server三种模式实践... 6

三种模式下的简单压力测试... 9

HA-Proxy. 10

HA-Proxy安装和使用... 10

HA-Proxy的压力测试结果... 15

负载学习心得... 15

 

 

Virtual Server三种模式实践

服务器资源:

         10.2.225.128作为Load Balancer10.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./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表示建立虚拟IPt表示是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 ab500并发用户,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层对消息作分析转发的负载均衡方案。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多