我正在使用Hystrix包装我的服务调用(99百分位的呼叫是〜200毫秒)。我椎配置看起来像
Hystrix性能开销
- 核心尺寸:80
- executiontimeoutinMilliSeconds:600个
- metricsRollingStatisticalWindowInMilliseconds:10000
- metricsRollingStatisticalWindowBuckets:10
(其余全部是默认的)
有一直在我的应用程序中观察到奇怪的行为(间歇性地)。大多数情况下,服务调用似乎没有任何hystrix超时正常工作(只有几个电话在一个小时左右超时)。
但偶尔,hystrix超时做增加许多倍。
在分析原因,我能得到保持的唯一的事情是,我执行延时在红椎(潜伏期为我的实际业务逻辑,在我HystrixCommand的run方法内)比多muchless总延迟(hystrix从命令中调用execute()到获得实际响应的总时间)。
问:
1.为什么会出现如此巨大的差异我的执行和总延迟(执行比总延迟小得多)。造成这种开销的可能原因是什么? (PS:我的服务器上的qps几乎不是10)
2.是否有与此开销相关的文档?我怎样才能找出这里的实际瓶颈?
任何线索将不胜感激。