服务器拥塞负荷及响应延迟程度评估方法以及装置制造方法及图纸

技术编号:23860292 阅读:30 留言:0更新日期:2020-04-18 13:26
本发明专利技术公开了一种服务器拥塞负荷及响应延迟程度评估方法,包括以下步骤:S101、获取来自于客户端的请求序列{r

Evaluation method and device of server congestion load and response delay

【技术实现步骤摘要】
服务器拥塞负荷及响应延迟程度评估方法以及装置
本专利技术涉及一种服务器拥塞负荷及响应延迟程度评估方法以及装置。
技术介绍
在互联网上,服务器需要随时响应来自众多客户端的请求。在请求高峰时段,服务器不得不把处理不过来的请求延后处理。而请求延迟响应极大地影响着用户体验。在极端情况下,堆积太多的请求甚至可能导致服务器崩溃。因此,服务器在建设和运维的过程中,需要根据自身的响应能力,评估服务器最大负荷和最长延迟,并根据评估结果调整硬件资源配置或改进业务逻辑处理。业界在评估最大负荷和最长延迟时,通常根据请求高峰时段内客户端请求的数量和服务器的吞吐能力进行估算。这种方法的不足之处在于,如果选择的时段较长,则计算出的是平均值,与最大值之间可能存在较大误差;如果选择的时段较短,则没有把该时间段之前已经堆积的请求计算在内,也会导致计算不准确。
技术实现思路
针对上述现有技术的不足,本专利技术所要解决的技术问题是:提供一种准确地、能够反映各个瞬间的负荷情况,并根据最大瞬间负荷推导出响应延迟的程度的服务器拥塞负荷及响应延迟程度评估方法以及装置。为解决上述技术问题,本专利技术采用的一个技术方案是:提供一种服务器拥塞负荷及响应延迟程度评估方法,包括以下步骤:S101、获取来自于客户端的请求序列{r1,r2r3,...rn},对每一个请求r,有r=(t,w),其中,t为请求时间,w为该请求所含的负荷;S102、初始化服务器堆积的最大负荷qmax=0以及最坏响应延迟τ′max=0;S103、读取第一个请求r=(t,w),以该第一个请求为基准,将该第一个请求的请求时间t赋值为服务器的负荷堆积起始时间t0,即t0=t,将该第一个请求所含的负荷w赋值为服务器的当前负荷q,即q=w,将该第一个请求的请求时间赋值为上一请求时间t1,即t1=t;S104、依次处理后续的每一个请求r=(t,w),以计算出服务器堆积负荷最重的时刻tmax及对应的最大负荷qmax、在请求顺序处理时服务器最大响应延迟τmax以及在请求不能顺序处理时服务器的最坏响应延迟τ′max,其中,该步骤包括以下子步骤:S1040、依序读取所述请求序列中的请求r=(t,w);S1041、通过q=q-c*(t-t1)计算出服务器相应于当前一个请求的当前负荷q;S1042、判断所述当前负荷q是否小于等于0,若是,则进入S1043步骤,若否,则转入S1046步骤;S1043、若判断得到所述当前负荷小于等于0,则判断所述当前一个请求的请求时间t与所述堆积起始时间t0的差值的绝对值是否大于所述最坏响应延迟τ′max,若是,则进入S1044步骤,若否,则转入S1045步骤;S1044、若所述请求时间t与所述堆积起始时间t0的差值的绝对值大于所述最坏响应延迟τ′max,则将所述当前一个请求的请求时间t与所述堆积起始时间t0的差值的绝对值赋值给所述最坏响应延迟τ′max,即,使得τ′max=t-t0;S1045、若判断得到所述请求时间t与所述堆积起始时间t0的差值的绝对值小于等于所述最坏响应延迟τ′max,则重新赋值所述当前负荷q以及堆积起始时间t0,以使q=0,t0=t;S1046、通过q=q+w计算出新的当前负荷q;S1047、判断所述新的当前负荷q是否大于最大负荷qmax;若是,则进入S1048步骤,若否,则转入S1049步骤;S1048、将所述新的当前负荷q赋值给所述最大负荷qmax,将当前对应的请求时间赋值给所述堆积负荷最重的时刻tmax,即qmax=q,tmax=t;S1049、判断所述当前一个请求是否为请求序列的最后一个请求,若是,则进入S104a步骤,若否,则转入S1040步骤;S104a、通过τmax=qmax/c计算所述请求顺序处理时服务器最大响应延迟τmax,其中c为服务器的吞吐量,c为常量,即单位时间可以处理数量为c的负荷;以此完成所述请求序列的计算,从而得到所述服务器堆积负荷最重的时刻tmax及对应的最大负荷qmax、在请求顺序处理时服务器最大响应延迟τmax以及在请求不能顺序处理时服务器的最坏响应延迟τ′max。为解决上述技术问题,本专利技术采用的另一个技术方案是:提供一种服务器拥塞负荷及响应延迟程度评估装置,包括:获取模块,用于获取来自于客户端的请求序列{r1,r2r3,...rn},对每一个请求r,有r=(t,w),其中,t为请求时间,w为该请求所含的负荷;初始化模块,用于初始化服务器堆积的最大负荷qmax=0以及最坏响应延迟τ′max=0;读取模块,用于读取第一个请求r=(t,w),以该第一个请求为基准,将该第一个请求的请求时间t赋值为服务器的负荷堆积起始时间t0,即t0=t,将该第一个请求所含的负荷w赋值为服务器的当前负荷q,即q=w,将该第一个请求的请求时间赋值为上一请求时间t1,即t1=t;评估处理模块,用于依次处理后续的每一个请求r=(t,w),以计算出服务器堆积负荷最重的时刻tmax及对应的最大负荷qmax、在请求顺序处理时服务器最大响应延迟τmax以及在请求不能顺序处理时服务器的最坏响应延迟τ′max,其中,所述评估处理模块包括以下子模块:读取子模块,用于依序读取所述请求序列中的请求r=(t,w);第一计算子模块,用于通过q=q-c*(t-t1)计算出服务器相应于当前一个请求的当前负荷q;第一判断子模块,用于判断所述当前负荷q是否小于等于0;第二判断子模块,用于当所述第一判断子模块判断得到所述当前负荷小于等于0时,判断所述当前一个请求的请求时间t与所述堆积起始时间t0的差值的绝对值是否大于所述最坏响应延迟τ′max;第一赋值子模块,用于当所述第二判断子模块判断得到所述请求时间t与所述堆积起始时间t0的差值的绝对值大于所述最坏响应延迟τ′max时,将所述当前一个请求的请求时间t与所述堆积起始时间t0的差值的绝对值赋值给所述最坏响应延迟τ′max,即,使得τ′max=t-t0;第二赋值子模块,用于当所述第二判断子模块判断得到所述请求时间t与所述堆积起始时间t0的差值的绝对值小于等于所述最坏响应延迟τ′max,则重新赋值所述当前负荷q以及堆积起始时间t0,以使q=0,t0=t;第二计算子模块,用于在所述第二赋值子模块对所述负荷q进行新的赋值后或者在所述第一判断子模块判断得到所述当前负荷大于0后,通过q=q+w计算出新的当前负荷q;第三判断子模块,用于在第二计算子模块计算出新的当前负荷q后,判断所述新的当前负荷q是否大于最大负荷qmax;第三赋值子模块,用于当所述第三判断子模块判断得到所述新的当前负荷q是否大于最大负荷qmax时,将所述新的当前负荷q赋值给所述最大负荷qmax,将当前对应的请求时间赋值给所述堆积负荷最重的时刻tmax,即qmax=q,tmax=t;第四判断子模块,用于在所述第三判断子模块判断得到所述负荷q小于等于最大负荷qmax后或者在本文档来自技高网...

【技术保护点】
1.一种服务器拥塞负荷及响应延迟程度评估方法,包括以下步骤:/nS101、获取来自于客户端的请求序列{r

【技术特征摘要】
1.一种服务器拥塞负荷及响应延迟程度评估方法,包括以下步骤:
S101、获取来自于客户端的请求序列{r1,r2r3,...rn},对每一个请求r,有r=(t,w),其中,t为请求时间,w为该请求所含的负荷;
S102、初始化服务器堆积的最大负荷qmax=0以及最坏响应延迟τ′max=0;
S103、读取第一个请求r=(t,w),以该第一个请求为基准,将该第一个请求的请求时间t赋值为服务器的负荷堆积起始时间t0,即t0=t,将该第一个请求所含的负荷w赋值为服务器的当前负荷q,即q=w,将该第一个请求的请求时间赋值为上一请求时间t1,即t1=t;
S104、依次处理后续的每一个请求r=(t,w),以计算出服务器堆积负荷最重的时刻tmax及对应的最大负荷qmax、在请求顺序处理时服务器最大响应延迟τmax以及在请求不能顺序处理时服务器的最坏响应延迟τ′max,其中,该步骤包括以下子步骤:
S1040、依序读取所述请求序列中的请求r=(t,w);
S1041、通过q=q-c*(t-t1)计算出服务器相应于当前一个请求的当前负荷q;
S1042、判断所述当前负荷q是否小于等于0,若是,则进入S1043步骤,若否,则转入S1046步骤;
S1043、若判断得到所述当前负荷小于等于0,则判断所述当前一个请求的请求时间t与所述堆积起始时间t0的差值的绝对值是否大于所述最坏响应延迟τ′max,若是,则进入S1044步骤,若否,则转入S1045步骤;
S1044、若所述请求时间t与所述堆积起始时间t0的差值的绝对值大于所述最坏响应延迟τ′max,则将所述当前一个请求的请求时间t与所述堆积起始时间t0的差值的绝对值赋值给所述最坏响应延迟τ′max,即,使得τ′max=t-t0;
S1045、若判断得到所述请求时间t与所述堆积起始时间t0的差值的绝对值小于等于所述最坏响应延迟τ′max,则重新赋值所述当前负荷q以及堆积起始时间t0,以使q=0,t0=t;
S1046、通过q=q+w计算出新的当前负荷q;
S1047、判断所述新的当前负荷q是否大于最大负荷qmax;若是,则进入S1048步骤,若否,则转入S1049步骤;
S1048、将所述新的当前负荷q赋值给所述最大负荷qmax,将当前对应的请求时间赋值给所述堆积负荷最重的时刻tmax,即qmax=q,tmax=t;
S1049、判断所述当前一个请求是否为请求序列的最后一个请求,若是,则进入S104a步骤,若否,则转入S1040步骤;
S104a、通过τmax=qmax/c计算所述请求顺序处理时服务器最大响应延迟τmax,其中c为服务器的吞吐量,c为常量,即单位时间可以处理数量为c的负荷;以此完成所述请求序列的计算,从而得到所述服务器堆积负荷最重的时刻tmax及对应的最大负荷qmax、在请求顺序处理时服务器最大响应延迟τmax以及在请求不能顺序处理时服务器的最坏响应延迟τ′max。


2.一种服务器拥塞负荷及响应延迟程度评估装置,包括:
获取模块,用于获取来自于客户端的请求序列{r1,r2r3,...rn},对每一个请求r...

【专利技术属性】
技术研发人员:佘万卫
申请(专利权)人:云南优鸟科技有限公司
类型:发明
国别省市:云南;53

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1