Hystrix - 如何计算线程池大小
Hystrix - How to calculate thread pool size
Hystrix 文档指出线程池大小应计算为:
requests per second at peak when healthy × 99th percentile latency in
seconds + some breathing room
对于以下示例,我们将有:
- 健康时以 50 rps 的速度提供服务
- 第 99 个百分位延迟:0.5 秒
然后 50 * 0.5 = 25 个线程。
现在,据我了解第 99 个百分位数的延迟,我认为这意味着 99% 的请求将花费低于其值的时间来响应。
如果我想要更少的延迟,比如说 0.25 秒:
50 * 0.25 = 12.5 个线程。
这看起来不对,因为它似乎表明线程越少,延迟就越少。有人可以解释一下吗?
我想你必须改变你的观点。
Hystrix无法控制延迟,只能设置线程数来避免请求被拒绝。
所以延迟是一个自变量,如果您的延迟较短,则需要较少的线程来避免拒绝,这是绝对有道理的。
Here详情。
Hystrix 文档指出线程池大小应计算为:
requests per second at peak when healthy × 99th percentile latency in seconds + some breathing room
对于以下示例,我们将有:
- 健康时以 50 rps 的速度提供服务
- 第 99 个百分位延迟:0.5 秒
然后 50 * 0.5 = 25 个线程。
现在,据我了解第 99 个百分位数的延迟,我认为这意味着 99% 的请求将花费低于其值的时间来响应。
如果我想要更少的延迟,比如说 0.25 秒:
50 * 0.25 = 12.5 个线程。
这看起来不对,因为它似乎表明线程越少,延迟就越少。有人可以解释一下吗?
我想你必须改变你的观点。
Hystrix无法控制延迟,只能设置线程数来避免请求被拒绝。
所以延迟是一个自变量,如果您的延迟较短,则需要较少的线程来避免拒绝,这是绝对有道理的。
Here详情。