lvs增加并发连接,解决因为哈希表过小导致软中断过高问题
LVS,一个N久前就在使用的东西,目前来说配置什么的也没什么问题。只是个人觉得随着业务的上涨和流量的增加,它的连接数必然也会增长,所以在配置的时候就想直接把它改大。
在安装好后(Centos6.5的系统,yum安装ipvs),默认情况下是4096(2的12次方)
ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
配置好后是1048576
ipvsadm -ln
IP Virtual Server version 1.2.1 (size=1048576)
在这里我们要做的是在/etc/modprobe.d/目录下加个ip_vs.conf文件,其内容为options ip_vs conn_tab_bits=20即可,然后重启服务器就可以生效了。配置起来还是比较简单的。
配置完后占用内存情况为,约16M左右。对于现在的服务器来说,小意思。
dmesg |grep IPVS
IPVS: Registered protocols (TCP, UDP, SCTP, AH, ESP)
IPVS: Connection hash table configured (size=1048576, memory=16384Kbytes)
IPVS: ipvs loaded.
IPVS: [rr] scheduler registered.
关于这方面我大概找了下。
IPVS connection hash table size,该表用于记录每个进来的连接及路由去向的信息(这个和iptables跟踪表类似)。连接的Hash表要容纳几百万个并发连接,任何一个报文到达都需要查找连接Hash表。Hash表的查找复杂度为O(n/m),其中n为Hash表中对象的个数,m为Hash表的桶个数。当对象在Hash表中均匀分布和Hash表的桶个数与对象个数一样多时,Hash表的查找复杂度可以接近O(1)。
连接跟踪表中,每行称为一个hash bucket(hash桶),桶的个数是一个固定的值CONFIG_IP_VS_TAB_BITS,默认为12(2的12次方,4096)。这个值可以调整,该值的大小应该在 8 到 20 之间,详细的调整方法见上面。
LVS的调优建议将hash table的值设置为不低于并发连接数。例如,并发连接数为200,Persistent时间为200S,那么hash桶的个数应设置为尽可能接近200x200=40000,2的15次方为32768就可以了。当ip_vs_conn_tab_bits=20 时,哈希表的的大小(条目)为 pow(2,20),即 1048576。
这里的hash桶的个数,并不是LVS最大连接数限制。LVS使用哈希链表解决“哈希冲突”,当连接数大于这个值时,必然会出现哈稀冲突,会(稍微)降低性能,但是并不对在功能上对LVS造成影响。
转载于:https://blog.51cto.com/fantefei/1684360
lvs增加并发连接,解决因为哈希表过小导致软中断过高问题相关推荐
- 哈希表(概念,冲突的解决,实现哈希桶)
目录 概念 冲突 如何尽量减少冲突? 负载因子 解决冲突的几种方案 冲突严重时的解决办法 哈希表的实现 基本类型哈希桶实现 泛型哈希桶实现 注意!!! 概念 构造出一种存储结构,通过某种函数使元素的存 ...
- 哈希表(哈希函数的设计与哈希冲突的解决)
文章目录 一.什么是哈希表 二.哈希函数 三.哈希冲突的原因与解决方法 1.数组扩容 2.一个优秀的哈希函数 3.开放寻址法 4.链表法 四.总结 一.什么是哈希表 哈希表就是数组+哈希函数,其核心思 ...
- JavaScript数据结构与算法(2)(集合、字典、哈希表、二叉树、图)(ES6)
注意:原教学视频:JavaScript(ES6)数据结构和算法 | JavaScript数据结构与算法 (都是CoderWhy老师的教学) 原作者(笔记)链接:JavaScript 数据结构与算法 | ...
- 「Redis数据结构」哈希表(Dict)
「Redis数据结构」哈希表(Dict) 文章目录 「Redis数据结构」哈希表(Dict) @[toc] 一.概述 二.结构 三.哈希冲突 四.链式哈希 五.rehash 六. 渐进式 rehash ...
- JavaScript 数据结构与算法(二)哈希表
本文参考文献:https://www.cnblogs.com/AhuntSun-blog/p/12636718.html 配套视频教程:https://www.bilibili.com/video/B ...
- JavaScript 实现哈希表
JavaScript 实现哈希表 源码地址 目录 JavaScript 实现哈希表 一.哈希表简介 1.1.认识哈希表 1.2.哈希化的方式 1.3.解决冲突的方法 1.4.寻找空白单元格的方式 线性 ...
- 10_JavaScript数据结构与算法(十)哈希表
JavaScript 数据结构与算法(十)哈希表 认识哈希表 哈希表是一种非常重要的数据结构,几乎所有的编程语言都直接或者间接应用这种数据结构. 哈希表通常是基于数组实现的,但是相对于数组,它存在更多 ...
- 算法精解(五):哈希表
1.个人理解 关于哈希表,通过看书与资料,有了一些自己的理解. 我更喜欢将哈希表比作是一个二维数组void chtbl[type][N] 同一数据类型的数据存储在一个一维数组里面,type表示不同类型 ...
- JavaScript数据结构之 —— 08哈希表
散列算法(也就是哈希)的作用是尽可能快地在数据结构中找到一个值.在之前如果要在数据结构中获得一个值(使用get方法),需要遍历整个数据结构来找到它. 所有元素根据和该元素对应的键,保存在数组的特定位置 ...
最新文章
- 《如何高效学习》作者推荐!
- 4-2-串的堆存储结构-串-第4章-《数据结构》课本源码-严蔚敏吴伟民版
- css学习入门篇(1)
- 【Fibonacci-PEG,LDPC】基于Fibonacci-PEG算法的LDPC码校验矩阵的构造
- XCTF-MISC-新手区-坚持60s
- 操作系统-进程同步与互斥易混点
- 仿Drinkspiration App的menu
- 【英语学习】【Level 07】U03 Amazing wonders L4 The Qin Dynasty legacy
- 跨境电商是什么?跨境电商有哪些模式?
- 医学专业考计算机三级,2020年9月中国医科大学计算机等级考试报名通知
- 联想高校AI精英挑战赛上交站落幕,“AI糖尿病筛查”项目获青睐
- android app报错log,Android studio 解决logcat无过滤工具栏的操作
- Tell router update config
- Linux命令(压缩,解压rar)
- android 屏幕分辨率 更改
- C++ 输入输出,IO
- php快速就业教程,PHP就业快学教程004,基本语法“条件控制语句”!
- 将EBS设为首页worklist删除误报
- Lady Gaga 发起“云演唱会”,美高校推“云毕业典礼”!云直播迎来又一风口?...
- PL读写PS端DDR的设计
热门文章
- 点云插值:三维平面参数确定-不共线三点的平面方程
- DNN:逻辑回归与 SoftMax 回归方法
- 场景理解_7分钟理解JS的节流、防抖及使用场景
- Spring集成Mybatis plus
- 介绍自己的一个Android插桩热修复框架项目QuickPatch
- [动态代理三部曲:上] - 动态代理是如何坑掉了我4500块钱
- 用开源NAC阻止非法网络访问
- 云服务器有什么好 能让云大佬们竞争如此激烈
- Mysql,ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
- Lombok中关于@Data的使用