[
https://issues.apache.org/jira/browse/SOLR-18241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18080963#comment-18080963
]
Houston Putman commented on SOLR-18241:
---------------------------------------
To be even more explicit here, for relatively expensive queries with
re-ranking, at 700 QPS the LoadAverageCircuitBreaker took up 90% of CPU cycles
for the query execution path. Insane!
{quote}The javadocs for the underlying metric read
"OperatingSystemMXBean.getSystemLoadAverage()" indicate that the value returned
represents the average for the past minute.
{quote}
I was reading this too, and it looked like a rolling minute. So I don't think
we could just refresh every minute. But refreshing every second should be fine
I think?
Also the OperatingSystemMXBean.getSystemLoadAverage() part was taking 99% of
LoadAverageCircuitBreaker.isTripped(), there was no issue with the thread local
or other parts of the method.
> LoadAverageCircuitBreaker should cache LoadAverage measurements
> ---------------------------------------------------------------
>
> Key: SOLR-18241
> URL: https://issues.apache.org/jira/browse/SOLR-18241
> Project: Solr
> Issue Type: Improvement
> Components: Circuit Breakers
> Affects Versions: 10.0, main(11.0), 9.10.1
> Reporter: Jason Gerlowski
> Priority: Minor
>
> Each call to LoadAverageCircuitBreaker.isTripped() requests the current
> system load average from the OS.
> This is cheap in isolation but quickly gets expensive when done concurrently
> at a decent QPS. We noticed this recently causing problems in a performance
> test, where LoadAverageCircuitBreaker.isTripped() was accounting for over
> half of the total CPU cycles!
> The javadocs for the underlying metric read
> "OperatingSystemMXBean.getSystemLoadAverage()" indicate that the value
> returned represents the average for the past minute. This is large enough
> that we should be able to take advantage of caching to reduce the number of
> metric-reads being done.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]