It’s been a while… I’m back to talk more about Confluence performance.
Previously, I shared how we made Confluence roughly twice as fast in FY25, then went deeper into React 18, hydration, streaming, and server-side rendering (SSR). We were proud—but not done.
During FY26, we worked across viewing, editing, page weight, and regression prevention so you get pages that appear sooner, settle faster, and become ready to use more quickly.
Your View page finishes rendering sooner: View TTVC improved by 44% at P50 and 30% at P90.
Your Edit page becomes ready sooner: Edit TTVC improved by 43% at P50 and 26% at P90.
You see the first content sooner: View FCP improved by 40% at P90.
You get a steadier page: View layout shift improved by 66% at P90.
There was no single silver bullet. Streaming, React Compiler, deeper SSR and hydration, smaller payloads, and stronger performance checks all added up to a faster experience.
When you open a page, you should not have to wait for everything to finish loading before you can start reading. We focused first on getting useful content in front of you sooner, then on making the page settle faster and feel more responsive.
Instead of waiting for the whole page to be ready before sending HTML to your browser, React streaming lets us deliver useful parts of the experience as soon as they become available. This improved P90 First Contentful Paint by 40%, so you spend less time looking at an empty screen.
Showing the first content is only part of the story. A page can appear quickly and still feel slow if elements keep moving or your browser has too much JavaScript work to do.
We made server-rendered and client-rendered pages work together more reliably, adopted React Compiler in heavily used components, improved how links and macros load, and reduced the JavaScript shipped on View by 15.8%. For you, that means a page that not only appears sooner, but also feels calmer: P90 layout shift fell by 66%.
Reading is only half of Confluence. You also need to move from consuming information to contributing without losing momentum.
We brought hydration deeper into Edit and Live pages, preserving the HTML already produced by the server and attaching interactivity instead of asking React to recreate the page from scratch. We also simplified the editor’s server-rendering path, prefetched draft data before View-to-Edit transitions, and reduced rendering work on large, complex pages.
The result for you: Edit TTVC improved by 43% at P50 and 26% at P90, while the editor supports documents up to 40% larger.
One of the most reliable ways to make a page faster is also one of the least glamorous: send less data and do less work.
During FY26, we reduced the uncompressed HTML payload for View by around 30–40%. We also continued moving from Apollo toward Relay and modernized more of our rendering foundation, including our bundler and server-side JavaScript engine.
To be clear, fewer backend calls are not delivered yet. The Relay work completed in FY26 established the foundation. This fiscal year, we plan to use it to consolidate requests and reduce backend calls during page load—so future page loads can do less network work.
Shipping a performance improvement is only the first step. You should keep benefiting from it as Confluence evolves.
We moved performance checks earlier in development by expanding automated testing, adding more SSR and hydration coverage, and improving feedback during local development and pull-request reviews. We are also using AI-assisted tools to spot known performance anti-patterns and help investigate regressions.
The goal is simple: turn lessons from previous problems into earlier feedback for engineers, so performance issues can be caught before they reach you.
Making Confluence faster took improvements across the whole experience: earlier content, less browser work, steadier layouts, faster editing, and stronger regression defenses. Performance work is never really finished, but our goal stays the same—to make Confluence’s growing capabilities feel simple and fast for you.
In a future post, I would like to go deeper into how we use automated and AI-assisted guardrails to catch performance problems earlier. Stay tuned—and let me know in the comments which part of the journey you would like to hear more about.
Ilia Fainshtroy
4 comments