[Feature] Improve Storedog Application Performance and K8S resources #116
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR features updates to the Kubernetes manifests for Storedog, focusing on enhanced Redis and Postgres configuration, as well as tuning resource allocations for various services. The main themes are: advanced Redis caching support, optimized Postgres settings, and right-sizing of resource requests/limits across deployments and statefulsets.
The overall intention is to improve performance and startup time of the application itself so chaos can be introduced to a healthy microservices app after it is up.
This gives learners the experience of seeing the slowness in Datadog without having to feel the slowness of the app itself, which creates friction for the learning experience.
The changes that were made to accomplish this
Caching and Redis Enhancements
redis-config.yaml
ConfigMap with advanced Redis settings for optimized caching, memory management, persistence, and performance tuning. This includes support for multiple databases, aggressive eviction policies, and performance monitoring.shared-config.yaml
ConfigMap to introduce comprehensive Redis caching environment variables for Rails, including separate Redis databases for cache, session, and query caching, along with detailed expiration and optimization parameters.Postgres and Database Improvements:
postgres-config.yaml
with advanced settings for memory, connection pooling, WAL, query planner, and monitoring, targeting higher concurrency and SSD optimization.Resource Allocation Tuning:
These changes collectively provide a more robust, scalable, and cache-optimized environment for the application, with improved observability and resource efficiency.## Description
How to test
Perform the steps listed in the deployment section of the k8s manifest folder README.md
Summary
These updates collectively enhance the scalability, reliability, and performance of the Storedog application in Kubernetes environments.