hystrix,生产上线程池大小以及timeout超时时长设置

1、一般流程

(1)一开始先不要设置timeout超时时长,默认就是1000ms,也就是1s
(2)一开始也不要设置线程池大小,默认就是10
(3)直接部署hystrix到生产环境,如果运行的很良好,那么就让它这样运行好了
(4)让hystrix应用,24小时运行在生产环境中
(5)依赖标准的监控和报警机制来捕获到系统的异常运行情况
(6)在24小时之后,看一下调用延迟的占比,以及流量,来计算出让短路器生效的最小的配置数字
(7)直接对hystrix配置进行热修改,然后继续在hystrix dashboard上监控
(8)看看修改配置后的系统表现有没有改善

2、线程池大小的公式

每秒的高峰访问次数 * 99%的访问延时 + buffer。比如,高峰时,每秒钟访问是30次,99%的情况下,延时在200ms左右,再加个buffer给个4。30 * 0.2 + 4 = 10线程,10个线程每秒处理30次访问应该足够了,每个线程处理3次访问。

3、总结

1)合理的timeout设置就是99.5%的访问延时。不要设置的太大,否则会导致线程池被占满,然后后续的请求过来大量的reject。
2)对于线程池大小来说,一般应该控制在10个左右,20个以内,最少5个

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Hystrix里的线程池是用来隔离和限制服务调用的线程池。通过配置线程池大小和队列的容量,可以控制并发请求的数量和等待队列的长度,从而保护系统免受异常响应时间或故障服务的影响。Hystrix提供了两种隔离策略:线程池隔离和信号量隔离。线程池隔离是将每个服务调用放入独立的线程池中执行,而信号量隔离是通过限制并发访问数量来控制服务调用的执行。线程池隔离下,当请求到达时,如果线程池中的线程数未达到核心线程数,就会创建新的线程来处理请求;如果达到核心线程数,则将请求放入等待队列中;当等待队列满了时,根据拒绝阈值来判断是否拒绝请求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Spring Cloud Hystrix 线程池队列配置(踩坑)](https://download.csdn.net/download/weixin_38526225/12751450)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Hystrix线程池和信号量限流概念](https://blog.csdn.net/weixin_43944305/article/details/127419827)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值