While supporitng Bamboo for ~5,000 users, we noticed really bad performance causing Bamboo to lock users out during the day.
We did some heap dumps and ran profiling to identify a few significant queries that were taking a long time to run and getting hit rather often. This led us to a configuration page exposed to pipeline admins which ran an intensive backend query on every page load.
I was able to contrast this with the project summary page that loaded significantly faster. Why? – It used an index.
I submitted a PR to the Atlassian team to have this admin page use the same index only when an admin attempts to change the field value.
This change reduces page load from from 2+ minutes to nearly instant, with an incredibly responsive UI.. Because it used a cached index instead of live DB queries it also cut a significant amount of resources to be used by more important tasks like actually running builds!
Project link: https://bitbucket.org/atlassianlabs/bamboo-after-deployment-trigger/pull-requests/2/fixes-issue-2-eliminate/diff