sentinel降级策略:慢调用比例

官网解释:慢调用比例 (SLOW_REQUEST_RATIO):选择以慢调用比例作为阈值,需要设置允许的慢调用 RT(即最大的响应时间),请求的响应时间大于该值则统计为慢调用。当单位统计时长(statIntervalMs)内请求数目大于设置的最小请求数目,并且慢调用的比例大于阈值,则接下来的熔断时长内请求会自动被熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求响应时间小于设置的慢调用 RT 则结束熔断,若大于设置的慢调用 RT 则会再次被熔断。

一、名词解释

1.调用:一个请求发送到服务器,服务器给与响应,一个响应就是一个调用。
2.RT:响应时间,指系统对请求作出响应的时间。
3.慢调用:当调用的时间(响应的实际时间)>设置的RT的时,这个调用叫做慢调用。
4.慢调用比例:在所以调用中,慢调用占有实际的比例,= 慢调用次数 / 调用次数
5.比例阈值:自己设定的 , 慢调用次数 / 调用次数=比例阈值

统计时长:时间的判断依据
最小请求数:设置的调用最小请求数

二、状态转换

进入熔断状态判断依据:当统计时常内,实际请求数目大于最小请求数目,慢调用比例> 比例阈值 ,进入熔断状态

熔断状态:在接下来的熔断时长内请求会自动被熔断

探测恢复状态:熔断时长结束后进入探测恢复状态

结束熔断:在探测恢复状态,如果接下来的一个请求响应时间小于设置的慢调用 RT,则结束熔断
否则继续熔断。

三、实例测试

1.熔断规则设置
sentinel降级策略:慢调用比例_第1张图片
2.服务器响应时长设置:暂停1秒,所以响应一个请求的时长都大于1秒
sentinel降级策略:慢调用比例_第2张图片
3.熔断推测:
熔断条件:
在1000毫秒,也就是1秒内,如果发送到/testD 的请求数数量大于5,并且在这些请求中,所有请求的响应时长(因为比例与阈值为1,所以是所有的请求响应时长)都大于500毫秒,也就是都大于0.5秒的时候,进入熔断状态。

4.jmeter测试
①设置测试地址
sentinel降级策略:慢调用比例_第3张图片

②设置线程和组
sentinel降级策略:慢调用比例_第4张图片
10个线程,在一秒的时间内发送完。

又因为服务器响应时长设置:暂停1秒,所以响应一个请求的时长都大于1秒

综上符合熔断条件,所以当线程开启1秒后,进入熔断状态

③测试:
Ⅰ.开启十个线程

在这里插入图片描述
Ⅱ.控制台显示
sentinel降级策略:慢调用比例_第5张图片

Ⅲ、浏览器测试熔断
在这里插入图片描述

关闭十个线程,再进行浏览器测试
在这里插入图片描述

正常访问
在这里插入图片描述

你可能感兴趣的:(分布式,分布式,微服务)