Spike: Performance Testing and Optimization Plan for Merge Request Approval Policies limits
Time-window: 5 days
As discussed in #436545 (comment 2310590633), we are preparing to enhance the performance and scalability of our Merge Request Approval Policies, this spike will focus on:
- Performance Testing:
- Conduct thorough performance tests on the current implementation of merge request approval policies.
- Identify bottlenecks and performance limitations in the existing system.
- Measure and document the current limits on the number of policies and actions per policy.
- Identify potential performance improvements and scalability enhancements enabled by the DB Read model.
- Optimization Strategies:
- Develop strategies to optimize the performance of merge request approval policies if needed.
- Investigate caching mechanisms, query optimizations, and other performance-enhancing techniques.
- Limit Increase Planning:
- Based on performance test results and optimization strategies, propose new limits for number of merge request approval policies per security policy project.
- Develop a phased approach for increasing limits, considering both GitLab.com and self-managed instances.
- Implementation Roadmap:
- Create a detailed plan for implementing optimizations and increasing limits.
- Outline any necessary changes to the existing architecture or data models.
- Identify potential risks and mitigation strategies.
- Monitoring and Validation:
- Propose metrics and monitoring strategies to validate the performance improvements in production.
Expected Deliverables:
- A detailed comment including:
- performance test results and analysis report
- detailed optimization strategies document
- proposed new limits with justification
- Monitoring and validation plan
- implementation roadmap (new Epic with issues created) with timeline estimates
Edited by Alan (Maciej) Paruszewski