服务器限制一条连接的消息包单位时间内的发送频率

来源于网络9个月前云服务器157
美国200G高防现已上架 性价比之王中王 大宽带 CN2直连 高性能 感受不一般香港到大陆最快线路 誉为【站群王】赠天机盾防CC 限时限购低至5折!立即抢购!

服务器的处理能力有限,如果单位时间内一条客户端连接发送的消息包过于频繁,那么消息的发送机制本身设计得就不合理。

首先这种情况会造成的服务器压力:

假设同时连接服务器的连接数共有10000条,每条连接以间隔1秒钟向服务器轮询发送心跳包,这种场景下每一条连接都感觉网络包收发流畅。但如果每条连接以间隔0.1秒钟向服务器轮询发送心跳包,也就是相当于之前1秒钟只发送1个心跳包改成了发送10个心跳包,那么服务器可能会造成消息队列拥塞,如果缓存的消息超过了队列容量的负载范围,那么还会造成丢包现象。

其次,客户端体验下降:

这种场景下每条连接可能明显感觉到网络包接收延迟了,因为服务器单位时间内的处理能力有限,只能按一定的速度去处理请求,而客户端频繁的发送网络请求就会出现发送的网络请求并不能很快得到响应的情况。

这种情况下,如果客户端不做优化,那么就需要考虑提升服务器的处理能力了,如果是分布式架构则采用加机器的方法,否则升级单机配置。

如果客户端做优化,那么可以通过消息队列来控制网络请求的发送频率,设定一个单位时间内允许发送的最高频率的阈值,当单位时间内发送的网络请求数达到预设的阈值时,就减缓队列内的请求发送频率。

【版权说明:本篇文章基于互联网CC-BY-NC-SA分享协议;如需转载时请注明出处及相应链接!】

美国200G高防现已上架 性价比之王中王 大宽带 CN2直连 高性能 感受不一般香港到大陆最快线路 誉为【站群王】赠天机盾防CC 限时限购低至5折!立即抢购!

相关文章

nginx 做代理服务器访问另外一台远程服务器

需求场景:我们需要访问的泰国的服务器,但是由于网络出口波动,访问非常慢。我们有一台新加坡的服务器,访问速度很快,这时我们可以利用新...

阿里云代理服务器搭建与配置(从服务器购买到代理成功,保证可行)

1.购买阿里云服务器 (1)进入控制台 (2)选择云服务器 (3)选择实例,点击创建实例 (4)按照自己的需求,购买合适的服务器 2.购买完成后【这里选择的是Ubu...

巧妙地把windows搭建成代理服务器

0x01 背景   在现实情景中,我们仅有一台windows 主机可以上网(在公司的生产环境、测试环境、各种其他场景下,由于各种安全策略或者上网限制...

nginx 做代理服务器访问另外一台远程服务器

需求场景:我们需要访问的泰国的服务器,但是由于网络出口波动,访问非常慢。我们有一台新加坡的服务器,访问速度很快,这时我们可以利用新...

常用 J2EE 应用服务器比较

Weblogic和Tomcat的区别 J2ee开发主要是浏览器和服务器进行交互的一种结构.逻辑都是在后台进行处理,然后再把结果传输回给浏览器。可以看出服务器在这种架构是非常重要的。...

JAVA写HTTP代理服务器(一)-socket实现

HTTP代理服务器是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。