Support rollout of Redis to cache database repository objects in `pre`
In #461 (closed) we completed the implementation work to enable the use of Redis to cache database repository objects.
This issue is to work on the rollout support for the GitLab.com pre-production environment.
Tasks
-
Configuration and deployment (gitlab-com/gl-infra/k8s-workloads/gitlab-com!2042 (merged)); -
Preliminary testing against the Get repository details API endpoint (the only one for which caching in Redis was enabled). The intent is just to make sure the requests succeed with the cache enabled; -
Creation of a new Registry: Redis Detail
Grafana dashboard here (file namedredis.dashboard.jsonnet
). This should include visualizations for all metrics introduced in !1088 (merged). It's better to do this after the deployment and first testing, otherwise, there will be no emitted metrics to test and visualize the dashboards; -
Make more extensive tests against the API, now looking at the new metrics/dashboard to ensure the Redis cache is being used. For example, when making a request for repository X
for the first time, we should see the cache miss metric being incremented by one. On a subsequent request for the same repository, we should see a cache hit increment. Then, after the cache expiration period (hardcoded to 6h), repeating the request should lead to another cache miss.