我正在使用Hystrix包裝我的服務調用(99百分位的呼叫是〜200毫秒)。我椎配置看起來像
Hystrix性能開銷
- 核心尺寸:80
- executiontimeoutinMilliSeconds:600個
- metricsRollingStatisticalWindowInMilliseconds:10000
- metricsRollingStatisticalWindowBuckets:10
(其餘全部是默認的)
有一直在我的應用程序中觀察到奇怪的行爲(間歇性地)。大多數情況下,服務調用似乎沒有任何hystrix超時正常工作(只有幾個電話在一個小時左右超時)。
但偶爾,hystrix超時做增加許多倍。
在分析原因,我能得到保持的唯一的事情是,我執行延時在紅椎(潛伏期爲我的實際業務邏輯,在我HystrixCommand的run方法內)比多muchless總延遲(hystrix從命令中調用execute()到獲得實際響應的總時間)。
問:
1.爲什麼會出現如此巨大的差異我的執行和總延遲(執行比總延遲小得多)。造成這種開銷的可能原因是什麼? (PS:我的服務器上的qps幾乎不是10)
2.是否有與此開銷相關的文檔?我怎樣才能找出這裏的實際瓶頸?
任何線索將不勝感激。