summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2017-02-06 16:33:49 +0100
committerYorick Peterse <yorickpeterse@gmail.com>2017-02-06 16:35:41 +0100
commitf116f87c91d9d65f570c98071f6aa9506300f766 (patch)
tree033c19234ffac6a3fe9c6bdc238d5c2f5f89d326
parent53db7d1d75e1d14cb20278bd0c1a75ce24a6626d (diff)
downloadgitlab-ce-remove-sidekiq-backup-ar-threads.tar.gz
Don't use backup AR connections for Sidekiqremove-sidekiq-backup-ar-threads
Adding two extra connections does nothing other than increasing the number of idle database connections. Given Sidekiq uses N threads it can never use more than N AR connections at a time, thus we don't need more. The initializer mentioned the Sidekiq upgrade guide stating this was required. This is false, the Sidekiq upgrade guide states this is necessary for Redis and not ActiveRecord. On GitLab.com this resulted in a reduction of about 80-100 PostgreSQL connections. Fixes #27713
-rw-r--r--changelogs/unreleased/remove-sidekiq-backup-ar-threads.yml4
-rw-r--r--config/initializers/sidekiq.rb4
2 files changed, 5 insertions, 3 deletions
diff --git a/changelogs/unreleased/remove-sidekiq-backup-ar-threads.yml b/changelogs/unreleased/remove-sidekiq-backup-ar-threads.yml
new file mode 100644
index 00000000000..f42aa6fae79
--- /dev/null
+++ b/changelogs/unreleased/remove-sidekiq-backup-ar-threads.yml
@@ -0,0 +1,4 @@
+---
+title: Don't use backup Active Record connections for Sidekiq
+merge_request:
+author:
diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb
index fa318384405..0c4516b70f0 100644
--- a/config/initializers/sidekiq.rb
+++ b/config/initializers/sidekiq.rb
@@ -36,11 +36,9 @@ Sidekiq.configure_server do |config|
Gitlab::SidekiqThrottler.execute!
- # Database pool should be at least `sidekiq_concurrency` + 2
- # For more info, see: https://github.com/mperham/sidekiq/blob/master/4.0-Upgrade.md
config = ActiveRecord::Base.configurations[Rails.env] ||
Rails.application.config.database_configuration[Rails.env]
- config['pool'] = Sidekiq.options[:concurrency] + 2
+ config['pool'] = Sidekiq.options[:concurrency]
ActiveRecord::Base.establish_connection(config)
Rails.logger.debug("Connection Pool size for Sidekiq Server is now: #{ActiveRecord::Base.connection.pool.instance_variable_get('@size')}")