压力测试过负载均衡_windows第四层负载均衡--基于NLB负载均衡

TCP/IP协议族,第七层是应用层,第四层是传输层。第四层负载均衡主要通过IP进行转化。
一些优秀的第四层负载均衡软件,速度可以接近硬件负载均衡的效率。当然,论速度还是人家硬件的快一点点,毕竟人家那价格摆在那里,一台F5,十几万,几十万,上百万不等。
第四层重与第七层相比:优秀就是速度快,能感知集群服务器的状态。缺点就是不能感知应用层软件的状态,比如IIS站点挂掉,但是如果服务器没有挂掉,转化流量用继续流入该服务器。现在很多的第四层负载均衡软件,我是说LINUNX服务器下。如果你使用了Windows,我还是建议大伙吃人家的全家桶吧。性能肯定不能最大化。但是论稳定性,维护性还是全家桶好使,省心,省力。
如果,你购买了微软的正版系统,你还可以一个电话,让人家工程师帮你解决问题。前提是,你得用的是全家桶。
常见的第四层负载均衡软件:LVS,NLB,还有其它,一时想不起来了,懒得查了。
下面讲讲怎么安装NLB,当然我使用的是带GUI的操作系统,一般情况LINUX的是不装GUI的,但是window的黑框我还没有习惯,还不会用,就先用带GUI的吧

安装NBL功能首先点服务管理器。

a1d0d640cee9bd386522b9fc969cc5d5.png

4c894b959233fdae35a5bbdb1db117a8.png

安装成功。
每一台参与NLB的服务器,都需要安装。这跟ARR不一样,ARR只需要在转发服务器上面安装即可。
这里作为演示例子,就给三台服务器装上NLB吧
分别是

192.168

工作原理所有请求会分发到每一台NLB服务器,然后NLB服务器根据算法处理自己那一份请求。
那么所有请求是怎么分发给每一台服务器昵,因为他们有一个公共的IP。也是就说,每台服务器有两个IP。
是的,每电脑可以有多个IP地址。

6143a822faebeec3fc62b4b18bb66e35.png

高级选项中,可以手动添加多个IP地址。

搭建集群

打开网络负载平衡管理器,新建集群

455fcff5353af8bf30cf1d1259bc4968.png

c20c501a1ab5c6b56607bfc7ac3246cf.png

474d0fdf138600e0c03987874ff4ab8e.png

一直点“下一步”,直到完成。
192.168.99.10,192.168.99.20的服务器分别按下步骤操作。

76d5c9595d63ed665a009e71300ce1b7.png

36ed7404742990be9468c4aa977549bc.png

06d7f8975ab212c155cb918214148e62.png

8be5faceccb7e919754349461e5e7de2.png

一直点“下一步”,直到完成。集群部署完毕。

b4c284339d5bf486683bbbd9363ca8b2.png

我们查看IP,你发现,多一个公共IP,192.168.99.20 这个就是群集的IP。

3e07555d48951a767955a0f5b2c81b5c.png

搭建好之后,我们就走一波试试,试跑成功之后,再来讲讲一些细节配置吧
首先IIS要做一些设置,因为我们将使用公共IP进行访问,就是192.168.99.20

3c3f386ea167c2a622d3417ae6f72cef.png

访问http://192.168.99.20/api/home/GetUserChat

f9de37c5b0fe8a4c8871ee5c5d0ef5e9.png

压力测试老规则,现在用VS2017进行压力测试,完事之后,讲点细节配置这事就算完成啦。

cecf7b3a17ab5491942e1d39601bd9ec.png

7df41a9f1c1561e3e9378ae7c0591f02.png

测试成功,但是问题也是相当明显
第一,数据的确广发给每个服务器,我们可以看,接收的数据大小都是一样的5.4Mbps
第二,发送的数据大小却完全不一样,这说明处理不一样。我们可以明显看到,192.168.99.10这台服务器,承担了大部分的工作。CPU上升到94%,发送数据包也达到1.5Mbps。

细节配置很明显集群配置不合适。下面我们来讲讲细节细置
集群操作模式:
单播:所有节点服务器的MAC都会被改成集群MAC,发送数据的时候源MAC将变成集群MAC。缺点:交换机的MAC表无法绑定该MAC归属那个端口,所有数据包都进行广播,造流量负担。所有节点服务器具有相同MAC,无法相通讯。也就是说,集群节点,具有相同的IP和相同MAC地址。
多播:不会修改节点服务器的MAC,而是为专节点服务器添加多一个集群MAC,节点之间可以通过专用IP进行相互通信。
单网卡多播,双网卡单播。双网卡可以设置内网网卡成为专用IP,解决单播节点不能相互通信问题。
集群端口规则:
筛选模式:
多台主机:所有数据由多台服务器处理。
单个主机:所有数据由一台服务器处理,根据优先级选出服务器。
禁用此端口范围:禁止这个端口的数据,进行处理。
多台主机模式下,相关性:
无:由负载均衡器根根算法处理,基本上请求平均分配。
单一:同一个客户端的请求,归属原来的处理的服务器。
网络:根据IP的C类地址范围来决定分配。也就是同一网段的请求,会分配某一服务器上。
优先级:集群中所有转发根据端口规则进行处理,如果不符合端口规则,将统一由优先级最小的服务器进行处理。
为什么我们开始时候,192.168.99.10承受大量的工作,因为端口规则没有设置好,我们现在重新设置一下端口规则,再来测试一下吧。
之前默认设置

ee357f6d88f32262062cdbe9aaf814e8.png

重新设置之后的配置

b7b9e6ab6ca9d1718048afa50cfb5ff6.png

好,我们重新跑一趟压力

ae3d17d4daf4e8649d8a7d265c07d02b.png

网络接受和发送比较平等。

9d15b110ed1ad3dce3e7705bf8536309.png

每个服务器接受的请求数,大概相等。

eb0e174e61a634e4f44ec8a44ad5fd0c.png

每秒处理150个。与服务器数据相吻合。
负载均衡基本达到与预期效果一致。
NLB集群测试完毕。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值