首页 > 其他分享 >系统过载理解

系统过载理解

时间:2022-09-30 23:22:31浏览次数:54  
标签:请求 处理 过载 系统 能力 重试 理解

转自:https://cloud.tencent.com/developer/article/1329609

https://www.361shipin.com/blog/1552697548710346752,讲的很好

1.介绍 

过载: 系统负载超过系统最大的处理能力。

服务器雪崩: 服务器的处理能力陡降,低于系统原本能达到的最大处理能力。

关系:

系统过载处理不当会造成服务器雪崩: 系统过载时,CPU、内存等资源达到瓶颈,系统响应会变慢。这时可能会发生大量的请求重试或系统内部重试,进一步加剧系统负载,产生恶性循环,导致系统处理能力急剧下降(服务器雪崩)。

过载原因:

  1. 访问量过大,(某个时间内访问量过大,或突增)
  2. 系统内部瓶颈、故障。(系统内部故障会导致系统的处理能力下降,从而容易引发过载。)
  3. 后端故障、延迟。(后端处理能力的下降会影响到本系统的响应能力)

2.接口延时优化 

https://blog.csdn.net/VitaminX181/article/details/117490627

优化有三个维度:分别是吞吐量、时延、系统容量。

  • 吞吐量:指的是单位时间内系统能完成多少操作;
  • 时延:指的是操作的响应时间,比如说搜索商品的结果必须在200ms内展示给用户;
  • 系统容量:指的是在吞吐量和时延达标的情况下,对硬件环境的额外约束。

 从系统层面看:CPU、内存、网络、磁盘这几个维度。

  • sql查询语句如果结果返回的对象过大,可能会影响内存占用。
  • sql慢查询,没有使用索引会影响cpu使用率。

3.过载保护

前端系统C通过udp请求访问后端serverD,后端server D的udp套接字缓冲区为4MB,每个请求大小约400字节。后端serverD偶尔处理超时情况下,前端系统C会重试,最多重试2次。

假设一个业务场景,秒杀门票,大量的用户聚集在同一时刻发起了大量请求,超出了后台serverD的最大负载能力。操作响应失败的用户又重试, 中间系统的重试,进一步带来了更大量的请求,导致所有用户操作都是失败的。

大量请求会马上将4MB大小的缓冲区堆满,请求可能会丢失,而且D在处理排队的请求时,处理到的时候可能该请求就已经超时了,已经被用户重试了,那么D所做的处理就是无用功。

  • 所以,每个系统,自己的最大处理能力是多少要做到清清楚楚。如上图,前端进程C处理能力要取决于后端D。
  • 前端要保护后段;重试要慎重;过载时,该拒绝的请求就拒绝;用户重试时,适当延缓;

过载保护很重要的一点,不是说要加强系统性能、容量,成功应答所有请求,而是保证在高压下,系统的服务能力不要陡降到0,而是顽强的对外展现最大有效处理能力。【不论如何,要保证系统的可用性!】

推荐解决方案:

对于“每个系统要有能力发现哪些是有效的请求,哪些是雪球无效的请求”。

  •  在系统每个机器上都部署一个interface实例,它能够快速的从socket缓冲区中取得请求,打上当前时间戳,压入channel。
  • 业务处理进程从channel中获取请求和该请求的时间戳,如果发现时间戳早于当前时间减去超时时间(即已经超时,处理也没有意义),就直接丢弃该请求,或者应答一个失败报文。

Channel是一个先进先出的通信方式,可以是socket,也可以是共享内存、消息队列、或者管道,不限。

 

标签:请求,处理,过载,系统,能力,重试,理解
From: https://www.cnblogs.com/BlueBlueSea/p/16746530.html

相关文章

  • static extern修饰变量与函数的理解
    头文件:扩大“全局”变量,“全局”函数,让作用域更广;全局变量:static变量,函数extern变量,函数 ......
  • Linux华为云Huawei Cloud EulerOS 系统 配置.Net6运行环境
    1.创建华为云HuaweiCloudEulerOS 2.0标准版64位.设置服务器登录密码,最后确认,然后稍等几分钟就可以看到申请的服务器处于运行状态就可以了.   2.远程登录服务......
  • 启动文件系统时出现错误:Warning: unable to open an initial console.
    ————————————————————————————————(一)启动文件系统时出现错误:Warning:unabletoopenaninitialconsole.—————————————......
  • 数字化工厂交付建设系统主要包括哪几个层级?
     所谓数字化工厂,也就是数字孪生工厂,即CPS,其本质就是构建一套赛博(Cyber)空间与物理(Physical)空间之间基于数据自动流动的状态感知、实时分析、科学决策、精准执行的闭环赋能......
  • 织带称重MES(织带称重条码系统)怎么选?
    MES,尤其是需要跟硬件设备对接的MES,最好选用原生开发且可以灵活定制手机版本的系统,如果有心做得好一点最好采用工业互联网的思路来做,这样织带称重部分可以是一个简单的工业A......
  • 在数字化转型的大背景下,还有企业用ESB来做IT系统集成吗?
    数字化转型确切的说是数字企业、数字工厂的建设,实质上就是物理形式的工厂在数字空间的投射,并基于此来实现的以人机物(Human,Machines,Things)泛在互联为基础上,深度感知为支撑,智......
  • 什么是生产管理系统?
    一般来讲生产管理系统指的是工厂管理系统,业内称为MES,是一套面向制造企业车间执行层的生产信息化管理系统。MES可以为企业提供包括制造数据管理、计划排程管理、生产调度管......
  • 好用的制造业erp系统软件有哪些?
    好不好用只有自己知道,别人好用不一定拿来自己就好用,适合自己的才是自己最好用的ERP系统!没有完全相同的企业,每个工厂都有自己独有的特殊性,照抄照搬是上ERP失败的最重要的因......
  • MES系统与ERP系统存在哪些差异?
    MES(ManufacturingExecutionSystem,即制造执行系统)系统跟ERP(EnterpriseResourcePlanning,企业资源计划)系统是两个完全不同的东西,谈什么差异?从工厂的管理来说,ERP在上......
  • Tubian系统无法打开Android子系统的解决方法
    打开Konsole,Konsole在程序菜单(左下角Logo)-系统中输入:sudonano/var/lib/waydroid/waydroid.cfg回车按方向键,把光标移动到[properties]的下一行:复制下面这两行,右击Kon......