服务器的处理能力有限,如果单位时间内一条客户端连接发送的消息包过于频繁,那么消息的发送机制本身设计得就不合理。
首先这种情况给会造成的压力服务器:
假设同时连接服务器的连接数共有10000条,每条连接以间隔1秒钟向服务器轮询发送心跳包,这种场景下每一条连接都感觉网络包收发流畅。但如果每条连接以间隔0.1秒钟向服务器轮询发送心跳包,也就是相当于之前1秒钟只发送1个心跳包改成了发送10个心跳包,那么服务器会造成消息队列拥塞,如果超过了队列容量的负载范围,还会造成丢包现象。
其次,客户端体验下降:
这种场景下会每条连接估计就会明显感觉到网络包收发延迟了,因为服务器单位时间内的处理能力有限,只能按一定的速度去处理请求,而客户端更加频繁的发送网络请求就会出现发送的网络请求并不能很快得到响应。
这种情况下,如果客户端内不做优化,那么就需要考虑提升服务器的处理能力了,如果是分布式架构则采用加机器的方法,否则升级单机配置。
如果客户端做优化,那么可以通过消息队列来控制网络请求的发送频率,比如,检测到单位时间内发送的网络请求达到预设的指标,则减缓队列内的请求发送,这类似于tcp协议的拥塞控制策略。
继续阅读与本文标签相同的文章
上一篇 :
numpy函数总结
-
OTT终端不断地在全球范围扩展,未来万物互联不再是梦想
2026-05-18栏目: 教程
-
2019云栖大会 | 开源数据库界大神集体现身,邀你共同感受“开源魅力”
2026-05-18栏目: 教程
-
陈冠希竟然和罗永浩联手了!难不成要搞个锤子?当然不是……
2026-05-18栏目: 教程
-
中国最强快递公司,年入300亿,被称作“哪都通”,但国人都很嫌弃
2026-05-18栏目: 教程
-
原厂直播:ANSYS SI/PI/EMI&TI 2019 R3 新功能介绍
2026-05-18栏目: 教程
