CN113141410B - 动态调节的qps控制方法、系统、设备及存储介质 - Google Patents
动态调节的qps控制方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN113141410B CN113141410B CN202110471502.2A CN202110471502A CN113141410B CN 113141410 B CN113141410 B CN 113141410B CN 202110471502 A CN202110471502 A CN 202110471502A CN 113141410 B CN113141410 B CN 113141410B
- Authority
- CN
- China
- Prior art keywords
- qps
- sending interface
- rate
- http
- http request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于互联网技术领域,公开了一种动态调节的QPS控制方法、系统、设备及存储介质,包括以下步骤:获取流量发送接口的当前QPS;获取流量发送接口在预设时间长度内发送的http请求的超时率和错误率;根据http请求的超时率和错误率,调节并更新流量发送接口的当前QPS。网关中台系统从外部流量变化和内部业务系统的超时率和错误率就可以动态的调节QPS,程序化的调节更为智能和合理,无需人工过度的参与,可以有效的解决现有网关中台系统中,人工调节QPS配置所带来的性能损耗和人工调节QPS数值工作的复杂性,降低人工配置的复杂度,提升系统的鲁棒性。
Description
技术领域
本发明属于互联网技术领域,涉及一种动态调节的QPS控制方法、系统、设备及存储介质。
背景技术
在互联网Web应用开发中,QPS(Query Per Second,每秒查询率)是衡量系统性能好坏至关重要的一个指标。尤其是在分布式高并发系统中,QPS的高低决定了整个系统可以承载的用户量和请求数的大小。
在程序化广告网关中台系统中,所有的下游业务系统都会接入到网关中台系统中,网关中台系统负责下发流量到下游的业务系统中。在整个业务环节过程中,下游业务系统为了保证自身系统的稳定性和对于流量需求量的大小,会要求网关中台系统设置QPS,即每秒下发到业务系统的请求量。QPS大小的设置决定了业务系统能接受到的流量的大小,QPS设置过大,业务系统接受到的流量变大了,但是,增大了业务系统的负载,QPS设置过小,业务系统接受到流量请求就会变少,影响业务发展。所以,对于QPS合理的设置对于业务自身的发展和业务系统的稳定性具有重要的价值。
现有的网关中台系统中,QPS的设置一般都是通过人为设置一个固定的值,例如:1000。这个值由下游业务进行评估得出。固定QPS设置存在以下几个问题:1、对业务系统具有破坏性。业务系统是随着业务的增长而升级迭代的,随着业务的缩减而收缩的(为了保证业务服务器的成本)。当业务服务器进行扩容的时候,如果QPS保持不变,那将会损失一部分流量,影响业务增长;当业务服务器进行缩减的时候,业务系统的整体吞吐量会下降,如果QPS不变,将会给业务服务器造成高负载,甚至击垮业务系统。2、运营工作复杂。互联网流量请求是时刻变化的,运营需要根据流量的变化来手动调整QPS,而调整的具体数值又需要参考服务器性能表现,人工设置是一个复杂的过程,浪费人力和时间。
发明内容
本发明的目的在于克服上述现有技术中,人工设置QPS会导致对业务系统造成破坏、运营工作复杂以及效率低的缺点,提供一种动态调节的QPS控制方法、系统、设备及存储介质。
为达到上述目的,本发明采用以下技术方案予以实现:
本发明第一方面,一种动态调节的QPS控制方法,包括以下步骤:获取流量发送接口的当前QPS;获取流量发送接口在预设时间长度内发送的http请求的超时率和错误率;根据http请求的超时率和错误率,调节并更新流量发送接口的当前QPS。
优选的,所述获取流量发送接口在预设时间长度内发送的http请求的超时率的具体方法为:在http请求中添加最大超时时间;获取流量发送接口在预设时间长度内发送的http请求中各http请求的响应状态码,根据各http请求的响应状态码得到各http请求的响应时间;初始超时请求次数为0,当http请求的响应时间超过该http请求的最大超时时间时,超时请求次数加1;以超时请求次数占在预设时间长度内发送的http请求的总数的比例为超时率。
优选的,所述获取流量发送接口在预设时间长度内发送的http请求的错误率的具体方法为:获取流量发送接口在预设时间长度内发送的http请求中各http请求的响应状态码,根据各http请求的响应状态码得到各http请求的响应状态;初始异常请求次数为0,当http请求的响应状态为异常时异常请求次数加1;以异常请求次数占在预设时间长度内发送的http请求的总数的比例为错误率。
优选的,所述预设时间长度为1分钟。
优选的,所述根据http请求的超时率和错误率,调节并更新流量发送接口的当前QPS的具体方法为:当http请求的超时率和错误率之和不大于预设阈值时,按照预设比例增加流量发送接口的当前QPS,将流量发送接口的当前QPS更新为增加后的QPS;否则,通过下式得到过渡QPS:过渡QPS=流量发送接口的当前QPS×(1-http请求的超时率和错误率之和),将流量发送接口的当前QPS更新为过渡QPS。
优选的,所述预设阈值为0~0.05,所述预设比例为10%。
优选的,还包括:当http请求的超时率和错误率之和大于告警阈值时,生成告警信息并发送。
本发明第二方面,一种动态调节的QPS控制系统,包括:第一获取模块,用于获取流量发送接口的当前QPS;第二获取模块,用于获取流量发送接口在预设时间长度内发送的http请求的超时率和错误率;动态调节模块,用于根据http请求的超时率和错误率,调节并更新流量发送接口的当前QPS。
本发明第三方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述动态调节的QPS控制方法的步骤。
本发明第四方面,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述动态调节的QPS控制方法的步骤。
与现有技术相比,本发明具有以下有益效果:
本发明动态调节的QPS控制方法,通过获取流量发送接口在预设时间长度内发送的http请求的超时率和错误率;继而根据http请求的超时率和错误率,调节并更新流量发送接口的当前QPS。其中,超时率和错误率反应了下游业务系统的吞吐量和稳定性,通过超时率和错误率来干预QPS可以保证在业务系统工作在最适宜的QPS配置下,以达到保护业务系统的目的。通过计算http请求响应的超时率和错误率来动态的调整QPS,初始QPS设置不作为最终衡量系统性能优劣的一个标准,QPS会随着系统运行情况而改变,运营人员无需人工对QPS进行过度的干预,减少工作的复杂度。网关中台系统从外部流量变化和内部业务系统的超时率和错误率就可以动态的调节QPS,程序化的调节更为智能和合理,无需人工过度的参与,可以有效的解决现有网关中台系统中,人工调节QPS配置所带来的性能损耗和人工调节QPS数值工作的复杂性,降低人工配置的复杂度,提升系统的鲁棒性。
进一步的,降低qps的过程中,采用当前QPS与超时率和错误率来计算最终的QPS,而在增加QPS的过程中,采用阶梯式,每次在上一次QPS的基础行增加一定的比例,这种阶梯式的增加可以保证QPS是一个弹性的过程,可以保证业务系统不会因为一次QPS增长太快而影响到系统的稳定性。
进一步的,当http请求的超时率和错误率之和大于告警阈值时,生成告警信息并发送。通过设置告警阈值,并在http请求的超时率和错误率之和大于告警阈值时及时报警,当业务系统人员接收到报警通知的时候,可以快速的对业务系统性能进行排查,找出问题所在,优化系统性能。
附图说明
图1为现有网关中台系统采用的QPS控制方法示意图;
图2为本发明的动态调节的QPS控制方法示意图;
图3为本发明的动态调节的QPS控制方法逻辑框图;
图4为本发明的动态调节的QPS控制系统框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合附图对本发明做进一步详细描述:
参见图1,展示了现有网关中台系统中采用的QPS控制方法,主要通过在配置中心配置QPS,网关中台系统启动的时候,从配置中心拉取QPS的值,然后设置各个业务系统的QPS,网关中台系统按照这个固定的QPS给各业务系统发送请求,QPS的设置完全依赖人工操作。
主要控制思路是,当业务系统的服务器负载高时,人工调低QPS,当业务系统的服务器负载低时,人为的调高QPS。但是,这样的方式极大的提升了QPS控制的复杂性,根据流量的变化来手动调整QPS,而调整的具体数值又需要参考服务器性能表现,这是一个极其复杂的过程,将浪费大量的人力和时间,亟需提出一种能够自动调节的QPS控制方法。
参见图2和3,本发明一实施例中,提供了一种动态调节的QPS控制方法,具体是基于响应结果可动态调节的QPS控制方法。网关中台系统在与业务系统的交互过程中,采用的是http请求的方式,http的响应时间以及异常率反应了业务系统的性能指标。根据http请求响应时间的阈值以及响应状态是否异常,来计算业务系统的超时率和异常率,通过超时率和异常率来动态的降低或者升高QPS,来更好的保证业务系统的稳定性,可以有效的解决固定QPS设置带来的低效率、过渡运营参与以及对下游业务系统不具备保护性等缺点。
具体的,该动态调节的QPS控制方法,包括以下步骤。
S1:获取流量发送接口的当前QPS。
具体的,网关中台系统中会预先设置各业务系统的流量发送接口,本实施例中以一个流量发送接口为例,其他流量发送接口类同。
在初始状态时,根据流量发送接口对应的业务系统的吞吐和业务系统对于流量大小的实际需求评估得出流量发送接口的初始QPS,这个值跟流量发送接口是一一对应,即跟业务系统一一对应。初始QPS的值存储在配置中心中,配置中心是一个泛概念,这里可以用数据库、中间件缓存等方案代替,同时,考虑到不同业务的特性,初始QPS的值可以人工进行修改。
那么,在进行第一次调节时,所获得的流量发送接口的当前QPS就是初始QPS,当进行后续的QPS调节时,所获得的流量发送接口的当前QPS就是上一次调节后的QPS。
S2:获取流量发送接口在预设时间长度内发送的http请求的超时率和错误率。
其中,获取流量发送接口在预设时间长度内发送的http请求的超时率的具体方法为:在http请求中添加最大超时时间;获取流量发送接口在预设时间长度内发送的http请求中各http请求的响应状态码,根据各http请求的响应状态码得到各http请求的响应时间;初始超时请求次数为0,当http请求的响应时间超过该http请求的最大超时时间时,超时请求次数加1;以超时请求次数占在预设时间长度内发送的http请求的总数的比例为超时率。
其中,在http请求中添加最大超时时间时,首先设置流量发送接口的最大超时时间,当网关中台系统通过该流量发送接口发送http请求的时候,会将最大超时时间添加到http请求中。其中,最大超时时间的值的大小取决于网关中台系统上游的外部媒体要求,这个值一般在350ms左右。最大超时时间的值存储在配置中心中,考虑到不同业务系统的特性,最大超时时间的值可以人工进行修改。
其中,在预设时间长度内发送的http请求的总数通过预设的计数器计数得到,并且,在多线程环境下采用原子计数器进行计数。
其中,获取流量发送接口在预设时间长度内发送的http请求的错误率的具体方法为:获取流量发送接口在预设时间长度内发送的http请求中各http请求的响应状态码,根据各http请求的响应状态码得到各http请求的响应状态;初始异常请求次数为0,当http请求的响应状态为异常时异常请求次数加1;以异常请求次数占在预设时间长度内发送的http请求的总数的比例为错误率。
其中,异常主要包括timeout error、socket closed error、connection reseterror等等,在http协议中有异常的枚举,在此不再详细论述。
具体的,预设时间长度为1分钟,可以根据实际需要自行设定,不以此为限。
S3:根据http请求的超时率和错误率,调节并更新流量发送接口的当前QPS。
具体的,调节并更新流量发送接口的当前QPS的具体方法为:当http请求的超时率和错误率之和不大于预设阈值时,按照预设比例增加流量发送接口的当前QPS,将流量发送接口的当前QPS更新为增加后的QPS;否则,通过下式得到过渡QPS:过渡QPS=流量发送接口的当前QPS×(1-http请求的超时率和错误率之和),将流量发送接口的当前QPS更新为过渡QPS。
其中,所述预设阈值为0~0.05,所述预设比例为10%,可以根据实际需要自行设定,不以此为限。在实际任何的业务系统中,都会发生一定的超时和错误,所以,在降低QPS的过程中,给定一个预设阈值。例如:0.05,当大于这个阈值时再对QPS进行调节,该阈值的设定参考实际业务需求。
以上整个步骤就完成了QPS动态的扩大和缩小,超时率和错误率影响了最终的QPS数值。降低QPS的过程中,采用当前QPS与超时率和错误率来计算最终的QPS,而在增加QPS的过程中,采用阶梯式,每次在上一次QPS的基础行增加10%的比例,这种阶梯式的增加可以保证QPS是一个弹性的过程,可以保证业务系统不会因为一次QPS增长太快而影响到系统的稳定性。
本发明动态调节的QPS控制方法,整个逻辑是按照分钟级别的时间窗口执行,所以这里的当前QPS有以下两层含义。
1、当前QPS=上一个时间窗口的计算出来的QPS。
网关中台系统在设置完成初始QPS和最大超时时间的值以后,开始向各业务系统发送http请求,并且记录超时请求次数和异常请求次数。通过计算超时请求次数和异常请求次数之和与请求数的比例,可以计算出非正常请求的比例(这个比例结果定义为rate,以下简称为rate)。当rate的比例大于0的时候,说明有超时和错误出现,需要降低QPS。所以,最终的QPS的计算公式为:
最终的QPS=QPS*(1-rate)
其中,rate的值处于[0,1]之间。计算完成以后,最终的QPS的值将作为下一次时间窗口的当前QPS。所以,整个逻辑在下一次的时间窗口执行的时候,输入的当前QPS值为本次时间窗口计算出来的最终的QPS值。
2、QPS恢复的梯度过程。
通过rate>0的条件,原始网关中台系统的配置中心的QPS得到了修正,业务系统开始恢复正常。当业务系统恢复正常以后,QPS的值也需要梯度恢复到正常值。如果QPS不进行动态恢复,那发送到业务系统的请求量就会降低。为了保证业务系统的稳定性,梯度恢复按照10%的比例进行恢复。
参见表1,为初始QPS为500时,通过本发明动态调节的QPS控制方法进行动态调节QPS的记录表。
表1
时间 | QPS |
05:01:00 | 500 |
05:02:00 | 550(500*(1+0.1)) |
05:03:00 | 605(550*(1+0.1)) |
05:04:00 | 近似672(605*(1+0.1)) |
本发明动态调节的QPS控制方法已采用Golang语言实现,目前在生产环境运行良好。在大型分布式系统中,这种动态调节的QPS控制的方法可以有效的解决高并发系统所面临的流量突增和缩减导致系统稳定性波动的问题。可以有效的补充微服务架构中限流的方案。在微服务中限流算法一般采用令牌桶的算法,即给定一个大小固定的容量,每秒向令牌桶放置一定数量的令牌(QPS)。每一个请求都从令牌桶获取令牌,如果取到令牌,请求就正常进行,取不到令牌,直接拒绝请求。令牌桶算法的限流方案可以保证应用系统的稳定性,但是这种算法的缺点在于每秒都是以固定数量向令牌桶放置令牌,不能动态的对令牌数量进行扩容。采用本发明中的动态调节QPS的方法来优化令牌桶算法,可以在保证系统稳定性的前提下,充分利用和发挥系统的性能。
综上所述,本发明动态调节的QPS控制方法,通过获取流量发送接口在预设时间长度内发送的http请求的超时率和错误率;继而根据http请求的超时率和错误率,调节并更新流量发送接口的当前QPS。其中,超时率和错误率反应了下游业务系统的吞吐量和稳定性,通过超时率和错误率来干预QPS可以保证在业务系统工作在最适宜的QPS配置下,以达到保护业务系统的目的。通过计算http请求响应的超时率和错误率来动态的调整QPS,初始QPS设置不作为最终衡量系统性能优劣的一个标准,QPS会随着系统运行情况而改变,运营人员无需人工对QPS进行过度的干预,减少工作的复杂度。网关中台系统从外部流量变化和内部业务系统的超时率和错误率就可以动态的调节QPS,程序化的调节更为智能和合理,无需人工过度的参与,可以有效的解决现有网关中台系统中,人工调节QPS配置所带来的性能损耗和人工调节QPS数值工作的复杂性,降低人工配置的复杂度,提升系统的鲁棒性。
本发明再一个实施例中,提供一种动态调节的QPS控制方法,除包括上述实施例中动态调节的QPS控制方法的全部内容外,还至少包括:当http请求的超时率和错误率之和大于告警阈值时,生成告警信息并发送。
具体的,网关流量系统在统计下游业务系统的超时率和错误率的时候,会建立告警机制,当超时率和错误率达到指定的告警阈值的时候,就会触发报警通知。报警接收人为下游业务系统的负责人员。
通过设置告警阈值,并在http请求的超时率和错误率之和大于告警阈值时及时报警,当业务系统人员接收到报警通知的时候,可以快速的对业务系统性能进行排查,找出问题所在,优化系统性能。
下述为本发明的装置实施例,可以用于执行本发明方法实施例。对于装置实施例中未纰漏的细节,请参照本发明方法实施例。
参见图4,本发明再一个实施例中,提供一种动态调节的QPS控制系统,能够用于实现上述实施例中的动态调节的QPS控制方法,具体的,该动态调节的QPS控制系统包括:第一获取模块、第二获取模块以及动态调节模块。
第一获取模块用于获取流量发送接口的当前QPS;第二获取模块用于获取流量发送接口在预设时间长度内发送的http请求的超时率和错误率;动态调节模块用于根据http请求的超时率和错误率,调节并更新流量发送接口的当前QPS。
本发明再一个实施例中,优选的,该动态调节的QPS控制系统还包括告警模块,告警模块用于当http请求的超时率和错误率之和大于告警阈值时,生成告警信息并发送。
本发明再一个实施例中,提供了一种终端设备,该终端设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor、DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于动态调节的QPS控制方法的操作。
本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(Memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关动态调节的QPS控制方法的相应步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (7)
1.一种动态调节的QPS控制方法,其特征在于,包括以下步骤:
获取流量发送接口的当前QPS;
获取流量发送接口在预设时间长度内发送的http请求的超时率和错误率;
根据http请求的超时率和错误率,调节并更新流量发送接口的当前QPS;
所述获取流量发送接口在预设时间长度内发送的http请求的超时率的具体方法为:
在http请求中添加最大超时时间,其中,最大超时时间的值的大小取决于网关中台系统上游的外部媒体要求;
获取流量发送接口在预设时间长度内发送的http请求中各http请求的响应状态码,根据各http请求的响应状态码得到各http请求的响应时间;
初始超时请求次数为0,当http请求的响应时间超过该http请求的最大超时时间时,超时请求次数加1;
以超时请求次数占在预设时间长度内发送的http请求的总数的比例为超时率;
所述获取流量发送接口在预设时间长度内发送的http请求的错误率的具体方法为:
获取流量发送接口在预设时间长度内发送的http请求中各http请求的响应状态码,根据各http请求的响应状态码得到各http请求的响应状态;
初始异常请求次数为0,当http请求的响应状态为异常时异常请求次数加1;
以异常请求次数占在预设时间长度内发送的http请求的总数的比例为错误率;
所述根据http请求的超时率和错误率,调节并更新流量发送接口的当前QPS的具体方法为:
当http请求的超时率和错误率之和不大于预设阈值时,按照预设比例增加流量发送接口的当前QPS,将流量发送接口的当前QPS更新为增加后的QPS;
否则,通过下式得到过渡QPS:过渡QPS=流量发送接口的当前QPS×(1-http请求的超时率和错误率之和),将流量发送接口的当前QPS更新为过渡QPS。
2.根据权利要求1所述的动态调节的QPS控制方法,其特征在于,所述预设时间长度为1分钟。
3.根据权利要求1所述的动态调节的QPS控制方法,其特征在于,所述预设阈值为0~0.05,所述预设比例为10%。
4.根据权利要求1所述的动态调节的QPS控制方法,其特征在于,还包括:
当http请求的超时率和错误率之和大于告警阈值时,生成告警信息并发送。
5.一种动态调节的QPS控制系统,其特征在于,包括:
第一获取模块,用于获取流量发送接口的当前QPS;
第二获取模块,用于获取流量发送接口在预设时间长度内发送的http请求的超时率和错误率;
动态调节模块,用于根据http请求的超时率和错误率,调节并更新流量发送接口的当前QPS;
所述获取流量发送接口在预设时间长度内发送的http请求的超时率的具体方法为:
在http请求中添加最大超时时间,其中,最大超时时间的值的大小取决于网关中台系统上游的外部媒体要求;
获取流量发送接口在预设时间长度内发送的http请求中各http请求的响应状态码,根据各http请求的响应状态码得到各http请求的响应时间;
初始超时请求次数为0,当http请求的响应时间超过该http请求的最大超时时间时,超时请求次数加1;
以超时请求次数占在预设时间长度内发送的http请求的总数的比例为超时率;
所述获取流量发送接口在预设时间长度内发送的http请求的错误率的具体方法为:
获取流量发送接口在预设时间长度内发送的http请求中各http请求的响应状态码,根据各http请求的响应状态码得到各http请求的响应状态;
初始异常请求次数为0,当http请求的响应状态为异常时异常请求次数加1;
以异常请求次数占在预设时间长度内发送的http请求的总数的比例为错误率;
所述根据http请求的超时率和错误率,调节并更新流量发送接口的当前QPS的具体方法为:
当http请求的超时率和错误率之和不大于预设阈值时,按照预设比例增加流量发送接口的当前QPS,将流量发送接口的当前QPS更新为增加后的QPS;
否则,通过下式得到过渡QPS:过渡QPS=流量发送接口的当前QPS×(1-http请求的超时率和错误率之和),将流量发送接口的当前QPS更新为过渡QPS。
6.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述动态调节的QPS控制方法的步骤。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述动态调节的QPS控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110471502.2A CN113141410B (zh) | 2021-04-29 | 2021-04-29 | 动态调节的qps控制方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110471502.2A CN113141410B (zh) | 2021-04-29 | 2021-04-29 | 动态调节的qps控制方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113141410A CN113141410A (zh) | 2021-07-20 |
CN113141410B true CN113141410B (zh) | 2022-11-29 |
Family
ID=76816491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110471502.2A Active CN113141410B (zh) | 2021-04-29 | 2021-04-29 | 动态调节的qps控制方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113141410B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113595922B (zh) * | 2021-07-29 | 2024-05-03 | 上海浦东发展银行股份有限公司 | 一种流量限制方法、装置、服务器及存储介质 |
CN113743628A (zh) * | 2021-09-18 | 2021-12-03 | 重庆允成互联网科技有限公司 | 维修响应及时率计算方法、装置、计算机设备及存储介质 |
CN114844835B (zh) * | 2022-07-04 | 2022-09-20 | 眉山环天智慧科技有限公司 | 一种自适应动态限流方法、设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9578342B2 (en) * | 2013-06-24 | 2017-02-21 | Dialogic Corporation | Rate control algorithm for scalable video encoding with disposable P-frames |
CN108199914A (zh) * | 2017-12-27 | 2018-06-22 | 杭州迪普科技股份有限公司 | 服务端状态检测方法和装置 |
CN111291252B (zh) * | 2020-02-21 | 2024-03-08 | 北京奇艺世纪科技有限公司 | 一种每秒查询率的调整方法、装置、电子设备及存储介质 |
CN111786895A (zh) * | 2020-03-16 | 2020-10-16 | 北京京东尚科信息技术有限公司 | 动态全局限流的方法和装置 |
-
2021
- 2021-04-29 CN CN202110471502.2A patent/CN113141410B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113141410A (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113141410B (zh) | 动态调节的qps控制方法、系统、设备及存储介质 | |
US10965565B2 (en) | Method and apparatus for monitoring bandwidth condition | |
CN101876938B (zh) | 一种基于消息队列的应用软件响应时间测量方法及系统 | |
US11765653B2 (en) | Load threshold determining method and apparatus | |
CN104811344A (zh) | 网络动态业务监控方法及装置 | |
CN106940677A (zh) | 一种应用日志数据告警方法及装置 | |
EP3591894B1 (en) | Tariff data determination method and device | |
CN112162980A (zh) | 数据质量管控方法及系统、存储介质、电子设备 | |
EP4181475A1 (en) | Method, apparatus and system for processing fault | |
CN109150593B (zh) | 云数据系统中资源的管理方法和装置 | |
CN104166650B (zh) | 数据存储装置和数据存储方法 | |
CN116760655B (zh) | Sd-wan应用中提供cpe最优接入的pop点方法 | |
CN105446707B (zh) | 一种数据转换方法 | |
CN115391141A (zh) | 数据库流量分析方法、装置、设备及可读存储介质 | |
CN115952030A (zh) | 一种数据追溯方法及其系统 | |
EP2919504A1 (en) | Method and device for judging user repeatedly accessing network | |
CN114417200A (zh) | 网络数据的采集方法、装置及电子设备 | |
CN113486237A (zh) | 一种航班信息的推荐方法、系统、存储介质和电子设备 | |
CN108804640B (zh) | 基于最大化iv的数据分组方法、装置、储存介质及设备 | |
CN112288403A (zh) | 停电信息精准推送到户方法、系统、电子设备及存储介质 | |
CN111124754A (zh) | 一种数据恢复方法、装置、设备及介质 | |
CN112448840A (zh) | 一种通信数据质量监控方法、装置、服务器及存储介质 | |
CN109446215B (zh) | 一种基于优先级的实时id拉通引擎方法 | |
CN113377861B (zh) | 分布式存储系统的重构方法、装置、设备和存储介质 | |
CN113810316B (zh) | 基于scd文件的智能变电站交换机镜像配置方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |