I am using Hystrix for wrapping up couple of my service calls (99 percentile of the call being ~200 ms). My hystrix configuration looks like
- core-size : 80
- executiontimeoutinMilliSeconds : 600
- metricsRollingStatisticalWindowInMilliseconds : 10000
- metricsRollingStatisticalWindowBuckets : 10
(Rest all are defaults.)
Have been observing a weird behaviour in my application (intermittently though). Most of the times, the service calls seem to work fine without any hystrix timeouts (only a few calls timeout in an hour or so).
But occasionally, the hystrix timeouts do increase many-folds.
On analysing the cause, the only thing i could get hold of was that my execute-latency in hystrix (latency for my actual business logic, within the run method in my HystrixCommand) is much muchless than the total-latency (The total time taken by hystrix right from invoking execute() on the command to getting the actual response).
Question :
1. Why is there such huge a difference between my execute and total latencies (execute is much lesser than total latency). What could be the possible reasons for this overhead. (PS : The qps on my server is hardly 10)
2. Is there a document related to this overhead ? How can i figure out the actual bottleneck here ?
Any leads will be appreciated.