假设你是一个用户,需要为自己公司的系统部署一套负载均衡设备,那么应该根据哪些因素来考虑要选择的负载均衡设备的性能指标是否能够满足自己的需要呢?许多用户往往根据自己的网络和应用情况的统计或者再加上未来发展的规划,简单地选择刚好与自己的计算结果相符性能的负载均衡设备型号,结果是许多用户发现所购买的设备并不能完全满足自己的需求,这说明在选型的过程中疏漏了某些因素。我们来详细分析一下。
负载均衡设备选型要考虑性能、功能项开启情况以及满足真实和未来需求三个方面。
1. 性能
性能指标包含4/7层吞吐量,4/7层新建连接数,并发连接数三大指标。同时包含SSL加速能力,HTTP压缩能力,内存Cache等功能模块指标。
1) 4/7层吞吐量(单位bps)
如果系统应用配置都是4层的(负载均衡设备只判断TCP包头进行转发),那么考虑4层吞吐量即可。如果涉及到应用层数据包头或者数据包内容的判断和分析,那么必须考虑7层的吞吐量能力。吞吐量的计算通过统计单位时间内网络中的流量(出向流量+入向流量)即可得出,一般来说要把峰值流量作为吞吐量选择的最低依据(如果可以容忍峰值丢包,那么可以以平均每秒的流量作为参考),例如经过统计峰值流量为10Gbps,那么必须考虑10Gbps吞吐量以上的设备。
2) 4/7层新建连接数(单位CPS)
新建连接数也分为4层新建连接数和7层新建连接数/请求数两大指标,判断该用哪个指标跟吞吐量一样,都是判断负载均衡设备对经过的流量是4层的处理还是7层的处理。新建连接数衡量的是负载均衡设备每秒能处理多少个4层或者7层的用户新建连接,例如一个用户每秒会发起10个新建连接,网络中有1万个并发用户,那么负载均衡设备的4层新建连接能力不能小于10万CPS,如果负载均衡设备是做7层处理的,那么必须要求7层新建连接数也不能小于10万CPS。
3) 并发连接数
并发连接数衡量的是负载均衡设备能够同时处理多少个用户会话,如果有设备号称新建连接数很高,但并发连接数较低,则该设备将很快达到瓶颈,新的用户连接将处于排队或者丢弃的状态,这显然是不合理的,所以一个性能强的负载均衡设备,必然是新建连接和并发连接数指标都会很高,而不会只有一个高。并发连接数可以通过统计服务器上的连接数来计算,例如经过统计,共有100台服务器,每台服务器并发连接数峰值为5000个,那么要求设备至少支持50万并发连接能力。
4) 功能模块性能指标
a) SSL加速
经验表明,服务器自己开启SSL加解密后的性能会降为开启前的十分之一,所以需要安全访问的系统往往会把SSL的加解密通过负载均衡设备的SSL加速功能来完成。
SSL加速性能指标有SSL新建连接数(CPS),新建交易数(TPS),SSL Bulk(对称加解密)吞吐量等,这些指标的估算跟7层新建连接数和吞吐量的估算一样,判断需要SSL加解密的流量和连接数有多少即可。
b) HTTP压缩
负载均衡设备的HTTP压缩功能会把服务器的应答包压缩后发送给客户端,然后客户端浏览器会自动解压缩,HTTP压缩降低了数据包大小,自然也就提高了用户的访问速度,是否开启这个功能要对负载均衡设备压缩的开销,压缩的效果以及网络传输速度做综合衡量,一般在配置中只会对部分确实需要的应用来开启,HTTP压缩的单位bps,例如需要压缩的流量为1Gbps,则选择至少1Gbps压缩性能的负载均衡设备。
c) 内存Cache
内容缓存可以降低服务器的负载并提高响应速度,抛开功能差异,缓存能力衡量的指标是用于缓存的内存大小。该功能各负载均衡厂家一般是免费赠送。
2. 功能项开启
负载均衡设备开启功能项的数量多少对于负载均衡设备的性能影响是不同的,开启的功能项越多,越复杂,设备的性能也会随之做更多的下降,所以在考虑负载均衡设备时,如果自己的系统会用到多个功能项,对于前面的性能指标要有一定的盈余考虑。
3. 满足真实和未来需求
以上所述的吞吐量,新建连接数,并发连接数以及各模块指标都是在相对单纯干净的环境测出的值,也就是说都是各负载均衡设备在最优环境下的最大值,但在真实环境,流量可能复杂很多,所以负载均衡设备在真实应用中一般不可能达到标称的性能(实际上对于所有做复杂处理的设备来说,都不可能达到标称值)。考虑到应用的复杂程度不同,功能模块开启的数目不同,在负载均衡性能指标的选型时,一定要留下充足的空间,原则如下:
1) 如果确认负载均衡设备对所有应用的处理都是最简单的4层处理,那么理论上选择的负载均衡设备的4层性能稍高于实际性能需求即可。
2) 如果确认负载均衡设备对所有应用的处理都是简单的7层处理,那么理论上选择的负载均衡设备的7层性能稍高于实际性能需求即可。
3) 如果负载均衡设备处理的应用既有4层的也有7层的,建议按照7层应用的性能来考虑负载均衡设备。
4) 如果确认自己的应用经过负载均衡处理时,需要复杂的4层或者7层处理,例如需要根据客户端的地址做策略性分发,需要根据tcp的内容做处理,需要根据HTTP头或者HTTP报文做处理,那么建议选择的负载均衡设备4/7层性能为真实性能需求的两倍。
5) 如果负载均衡设备有混合的复杂流量处理并且还开启了一些功能模块,那么建议选择的负载均衡设备4/7层性能为真实性能需求的3倍。
6) 考虑到设备需要轻载运行才能更加稳定,所以有可能的话在以上基础上再增加30%的性能。
7) 如果还要满足未来几年的发展需求,在以上基础上还要留出未来发展所需要增加的性能。
8) 不同负载均衡设备厂家由于不同的架构,使得某些设备在复杂环境下可能也表现的比较优秀,这个客户可以对比判断,但总体来说,以上建议适合于所有厂家的设备。