1. 02 Jul, 2019 2 commits
    • Stan Hu's avatar
      Add a memory cache local to the thread to reduce Redis load · 481db8ff
      Stan Hu authored
      Loading `ApplicationSetting` from Redis was responsible for at least 50%
      of the CPU load of the Redis cluster on GitLab.com. Since these values
      generally don't change very much, we can load this from the database and
      cache it in memory, skipping Redis altogther. We use
      `ActiveSupport::Cache::MemoryStore` as a drop-in replacement for
      `RedisCacheStore` even though we probably don't need synchronized access
      within `Thread.current`.
      
      Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/63977
      481db8ff
    • Stan Hu's avatar
      Add a memory cache local to the thread to reduce Redis load · 978647c6
      Stan Hu authored
      Loading `ApplicationSetting` from Redis was responsible for at least 50%
      of the CPU load of the Redis cluster on GitLab.com. Since these values
      generally don't change very much, we can load this from the database and
      cache it in memory, skipping Redis altogther. We use
      `ActiveSupport::Cache::MemoryStore` as a drop-in replacement for
      `RedisCacheStore` even though we probably don't need synchronized access
      within `Thread.current`.
      
      Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/63977
      978647c6