本文主要是介绍LVS负载均衡对udp流量进行参数调整一例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文记录一套百万会话级的LVS软负载均衡系统,从加权最少链接均衡算法调整为源主机散列算法并增加会话保持时间的配置过程。
一、调整原由
业务侧为了提升平台的设备连接会话保持能力,希望将LVS软负载均衡系统的均衡算法从加权最少链接均衡算法wlc调整为源主机散列算法sh,并将会话保持时间从1秒增加到180秒。
二、调整分析
1、负载调度算法
LVS的lb_algo 是负载调度算法的选项,可以设置以下几种算法:
- rr(轮询调度算法):按照轮询的方式依次将请求调度到不同的服务器上,即每次选择下一个服务器进行调度。
- wrr(加权轮询算法):根据服务器的不同处理能力进行调度,权重大的服务器会收到更多的请求。
- lc(最少连接算法):动态地将网络请求调度到已建立的链接数最少的服务器上。
- wlc(加权最少连接算法):结合了最少连接和加权轮叫的算法,根据服务器的处理能力和当前连接数进行调度。
- lblc(基于局部性的最少连接算法):针对目标IP地址的负载均衡,主要用于Cache集群系统。
- sh(源主机散列算法):通过散列函数将源IP地址映射到不同的服务器上,以实现基于源IP地址的负载均衡。
- dh(目标主机散列算法):通过散列函数将目标IP地址映射到不同的服务器上,以实现基于目标IP地址的负载均衡。
2、会话保持时间
LVS的persistence_timeout 会话保持时间,主要作用是将来自同一个客户端IP的请求转发到同一个真实服务器(Real Server)的时间。通过设置persistence_timeout,可以在一定时间内保证所有来自同一个客户端的TCP请求都被发送到同一个真实服务器。这样可以确保会话的持续性,使得客户端和服务器之间的通信能够在同一台服务器上保持。
在设置的persistence_timeout 时间段内,当前IP地址下所有的TCP连接数据包都会被发送到同一个真实服务器。这样可以确保客户端与服务器之间的通信能够保持连续性,特别是在需要保持长时间会话的应用场景中,如数据库连接、文件传输等。
具体来说,设置多长的会话保持时间,主要还是根据后端会话的业务场景来定。
三、配置实操
1、原配置
[root@lvs-1 ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 127.0.0.1smtp_connect_timeout 30router_id lvs231vrrp_skip_check_adv_addrvrrp_garp_interval 0.001vrrp_gna_interval 0.00001
}vrrp_instance VI_1 {state MASTERinterface ens192virtual_router_id 231priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.1.231}
}virtual_server 192.168.1.231 9007 {delay_loop 6lb_algo wlclb_kind NAT
这篇关于LVS负载均衡对udp流量进行参数调整一例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!