LVS负载均衡对udp流量进行参数调整一例

本文记录一套百万会话级的LVS软负载均衡系统,从加权最少链接均衡算法调整为源主机散列算法并增加会话保持时间的配置过程。

一、调整原由

业务侧为了提升平台的设备连接会话保持能力,希望将LVS软负载均衡系统的均衡算法从加权最少链接均衡算法wlc调整为源主机散列算法sh,并将会话保持时间从1秒增加到180秒。

二、调整分析

1、负载调度算法

LVS的lb_algo 是负载调度算法的选项,可以设置以下几种算法:

  1. rr(轮询调度算法):按照轮询的方式依次将请求调度到不同的服务器上,即每次选择下一个服务器进行调度。
  2. wrr(加权轮询算法):根据服务器的不同处理能力进行调度,权重大的服务器会收到更多的请求。
  3. lc(最少连接算法):动态地将网络请求调度到已建立的链接数最少的服务器上。
  4. wlc(加权最少连接算法):结合了最少连接和加权轮叫的算法,根据服务器的处理能力和当前连接数进行调度。
  5. lblc(基于局部性的最少连接算法):针对目标IP地址的负载均衡,主要用于Cache集群系统。
  6. sh(源主机散列算法):通过散列函数将源IP地址映射到不同的服务器上,以实现基于源IP地址的负载均衡。
  7. 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/661864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML -- 常用标签

标签 表示HTML网页内容的一个最基本的组织单元,类似于语文中的标点符号, 标签的作用:告诉浏览器当前标签中的内容是什么,以什么格式在页面中进行呈现 单标签 单标签(只有一个标签名的标签)的标签格式&…

深入解剖指针篇(2)

目录 指针的使用 strlen的模拟实现 传值调用和传址调用 数组名的理解 使用指针访问数组 一维数组传参的本质 冒泡排序 个人主页(找往期文章):我要学编程(ಥ_ಥ)-CSDN博客 指针的使用 strlen的模拟实现 库函数strlen的功能是求字符串…

1683. 无效的推文

说在前面 🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。 题目描述 表:Tweets ------------------------- | Column Name | Type | --------…

PySpark(二)RDD基础、RDD常见算子

目录 RDD RDD五大特性 RDD创建 RDD算子 常见的Transformation算子 map flatMap mapValues reduceByKey groupBy filter distinct union join intersection glom groupByKey groupByKey和reduceByKey的区别 ? sortBy sortByKey 常见的action算子 countByKey…

MySQL入门篇(10)-聚合函数的应用

MySQL数据库聚合函数的应用 在MySQL数据库中,聚合函数用于计算一组数据的统计值并返回结果。这些函数可以应用于查询语句中,对数据进行汇总、计数、平均值计算等操作。本文将介绍一些常用的MySQL聚合函数及其应用。 1. COUNT函数 COUNT函数用于计算指…

软考 系统分析师系列知识点之需求管理(2)

接前一篇文章:软考 系统分析师系列知识点之需求管理(1) 所属章节: 第11章. 软件需求工程 第8节. 需求管理 11.8.2 需求风险管理 人们做事情总希望一帆风顺,做项目也是如此,总是希望项目进展顺利&#xff…

Ubuntu18配置Docker

1.基本过程 1.更新软件源列表 sudo apt update2.安装软件包依赖 sudo apt install apt-transport-https ca-certificates curl software-properties-common3.在系统中添加Docker的官方密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - …

新概念英语第二册(49)上

【New words and expressions】生词和短语(13) tired adj. 厌烦的 real adj. 真正的 owner n. 主人 spring n. 弹簧 mattress …

erlang (erlang 操作模块)学习笔记(四)

map_size 1> map_size(#{a>1, b>2, c>3}). 3返回一个整数,即键值对的数量 max 2> max(1, 2). 2 3> max(1.0, 1). 1.0 4> max(1, 1.0). 1 5> max("abc", "b"). "b"返回 Term1 和 Term2 中最大的值。如果这…

前端JavaScript篇之ES6中数组新增了哪些扩展?

目录 ES6中数组新增了哪些扩展?1. **箭头函数:**2. **扩展运算符(Spread Operator):**3. **解构赋值:**4. **Array.from()方法:**5. **Array.of()方法:**6. **find()和findIndex()方法&#xf…

Python入门到精通(七)——Python文件操作

Python文件操作 一、文件的编码 二、文件的读取 1、操作汇总 2、model 常用的三种基础访问模式 三、文件的写入 四、文件的追加 五、综合案例 一、文件的编码 1、什么是编码? 编码就是一种规则集合,记录了内容和二进制间进行相互转换的逻辑。编…

Flink1.14新版KafkaSource和KafkaSink实践使用(自定义反序列化器、Topic选择器、序列化器、分区器)

前言 在官方文档的描述中,API FlinkKafkaConsumer和FlinkKafkaProducer将在后续版本陆续弃用、移除,所以在未来生产中有版本升级的情况下,新API KafkaSource和KafkaSink还是有必要学会使用的。下面介绍下基于新API的一些自定义类以及主程序的…

解析Excel文件内容,按每列首行元素名打印出某个字符串的统计占比(超详细)

1.示例: 开发需求:读取Excel文件,统计第3列到第5列中每列的"False"字段占比,统计第6列中的"Pass"字段占比,并按每列首行元素名打印出统计占比 1.1 实现代码1:列数为常量 请确保替换y…

测试access和trunk口的区别(华为)

思科设备参考:测试access和trunk口的区别(思科) 一,实验目的 实现同一 Vlan 内的主机互通,不同 Vlan 间的主机隔离。 二,配置前测试 PC1分别ping PC2、PC3、PC4都能通,因为四台PC默认同处于v…

NatCross免费内网穿透工具:助你快速搭建内网服务

NatCross是一款免费的内网穿透工具,产品基于分布式集群服务架构,为需要远程连接的企业和个人提供更加稳定和简单的解决方案。 场景主要包括出差在外或分支机构访问公司的OA、CRM、ERP系统、利用ADSL等宽带连接实现远程视频监控、在办公室或者家里搭建网站…

Android native层c++调用java层API

在Android开发中,从本地(native)代码调用Java层的接口是一个常见的需求,尤其是在使用JNI(Java Native Interface)进行混合编程时。以下是一个基本的步骤指南,展示如何从C代码调用Java方法&#…

一文掌握SpringBoot注解之@Configuration知识文集(2)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

【JAVA】单例模式的线程安全性

🍎个人博客:个人主页 🏆个人专栏:JAVA ⛳️ 功不唐捐,玉汝于成 目录 正文 我的其他博客 正文 老生常谈的问题了,首先要说的是单例模式的线程安全意味着:某个类的实例在多线程环境 下只会被…

main函数中参数argc和argv用法解析

1 基础 argc 是 argument count 的缩写,表示传入main函数的参数个数; argv 是 argument vector 的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径&…

YOLO系列详解(YOLO1-YOLO5)

YOLO(You Only Look Once)系列是一组流行的实时对象检测算法,它们因其速度快和准确率高而闻名。YOLO 系列从 YOLOv1 发展到了后续的多个版本,每个版本都在性能、准确度和速度方面进行了改进。 YOLOv1 发布年份:2016主…