Skip to content

Increase DEFAULT_SEMI_RELIABLE_FETCH_TIMEOUT to 5 seconds

Stan Hu requested to merge sh-update-sidekiq-reliable-fetch-timeout into master

What does this MR do and why?

In 2021 on GitLab.com, we increased this timeout from 2 to 5 seconds to reduce the CPU utilization incurred by Sidekiq jobs waiting for a Redis BRPOP command to return (gitlab-com/gl-infra/production#4052 (closed), https://github.com/sidekiq/sidekiq/issues/4855). Since the number of queues has increased from 440 to over 650 in the last two years, BRPOPs have gotten increasingly expensive if they are watching all 650+ queues. Increasing this timeout significant reduces CPU utilization, so let's make this the default.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Stan Hu

Merge request reports