Atlassian

Extinguishing our performance fires and rebuilding for the future

Apr 30, 2021Dan Tao
Extinguishing our performance fires and rebuilding for the future
SummaryAI, from the source post

This post details significant performance improvements in Bitbucket Cloud, primarily by addressing bottlenecks in the file system layer. Key contributions include: 1. Caching packfiles for Git operations (clones, fetches) to reduce file system I/O by nearly half. 2. Implementing a custom libgit2 ODB backend with a high-performance caching layer between libgit2 and the file system, reducing throughput by over 30% for website and API traffic. 3. Optimizing diff caching by consolidating ad-hoc caching strategies, leveraging known access patterns to warm caches, and improving cache hit rates for APIs like pull request conflicts to nearly 100%. The post also outlines future investments in formalizing performance SLOs, transitioning to a new team ownership model for performance metrics, and building automation for guardrails and circuit breakers.

More from the Bitbucket Pull Request Diff Performance trail