2016 - 2024

感恩一路有你

性能测试并发数怎么计算 现在lvs的最大并发连接数大概是多少?

浏览量:1773 时间:2023-03-27 09:05:04 作者:采采

现在lvs的最大并发连接数大概是多少?

IPVS连接哈希表大小,取值范围是:[12,20]。

该表用于记录每个传入连接和路由目的地的信息。连接哈希表要容纳几百万个并发连接,有消息到达就要找到连接哈希表。哈希表的搜索复杂度为O(n/m),其中n是哈希表中对象的数量,m是哈希表中桶的数量。当对象均匀分布在哈希表中,并且哈希表中桶的数量与对象的数量一样大时,哈希表的搜索复杂度可以接近O(1)。在连接跟踪表中,每一行称为一个哈希桶,桶的个数为固定值CONFIG_IP_VS_TAB_BITS,默认值为12(2的12次方,4096)。这个值可以调整,这个值的大小应该在8到20之间。具体调整方法见下。每一行都是一个链表结构,包含n列(即n个连接的记录)。这个N是无限的,N的个数决定了搜索的速度。在LVS的实现描述中,有一段话可以帮助理解行和列之间的关系:为了评估哈希函数的效率,我们从一个运行IPVS的真实站点中抽取了一个当前连接的样本,它包含了总共35652个并发连接。在64K桶的哈希表中,连接的分布如下:桶长(Lj) 5 16 4 126 3 980 2 5614 1 20900搜索一次所有连接的代价是45122,搜索每个连接的平均代价是1.266(即45122/35652)。LVS的调优建议将哈希表的值设置为不小于并发连接数。例如,如果并发连接数为200,持久时间为200S,那么哈希桶的数量应该设置为尽可能接近200x20040000,2的15次方为32768。当ip_vs_conn_tab_bits20时,哈希表的大小(条目)为pow(2,20),即1048576。对于64位系统,IPVS占用内存约16M,通过配置的d:连接哈希表可以看出(大小1048576,内存16384 kb)。对于目前的服务器来说,这样的内存占用不是问题。所以就设为20吧。关于最大 "连接限制和:此处的哈希桶数量不是LVS的最大连接限制。LVS使用哈希链表来解决 "哈希和与,当连接数大于该值时,必然会出现哈希,会(略微)降低性能,但在功能上不会影响LVS。

性能指标之间的关系?

性能测试各项指标之间的关系

每站终端数(terminals per station的缩写)

压力测试工具中的线程和TPS数量与服务器上的线程和TPS数量并不完全相等。在具体的项目性能测试过程中,要尽可能的关注服务器能够处理的请求数量,也就是关注服务器上的TPS。

被...复杂化

建议性能测试不要总是说系统能支持多少并发。这个瞬间的概念可以 不能很好的衡量系统性能,不如用TPS来达到和谐。

并发数和TPS

有50个并发线程,每个线程一秒钟可以完成100个事务,所以TPS5000。

在线用户评估

在很多业务中,并发度会小于5%,甚至小于1%。假设5%的并发性和100w用户,计算:

TPS100w x 000

根据TPS估计并发线程的数量

如果此时响应时间为10ms,那么很明显理论上并发线程数为50000TPS/(1000ms/10ms)5000(响应时间是波动的,所以是理论值)。

测量机器和线程的数量

运行压力测试工具的机器可以启动的线程数与其硬件有关,所以使用的线程数必须合理,压力测试的机器要纳入压力测试的监控范围。

数量 哈希表 线程 LVS

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。