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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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