I want to write to you directly about some of the performance and reliability issues you may have experienced with Notion recently. Over the last couple months, we've seen a lot of user growth - it's been inspiring - but it's also come with side effects. We've seen slow app speeds and a few instances of downtime. I know how much people depend on Notion every day, and I'm committed to us taking action and being as transparent as possible.
For quick context, we saw a 5x increase in daily active users in 2020, and a 40% spike in signups starting in December through January. This has placed a lot of strain on the product, resulting in issues like these recent incidents (more detail inside):
In this post, we want to give you a window into the initiatives that we've already been working on and have planned for the near-term to tackle performance and reliability head-on.
While our engineering team has long been focused on reliability and performance, we made a few changes at the start of this year to put infrastructure and speed at the center of our project strategy, and align resources to accelerate this work:
To accommodate future growth, we're continuously expanding the capacity of Notion's backend systems. As one example, we've scaled the number of API servers that power our app. But there's one component in particular that has a significant impact on the performance and reliability of Notion — the database that stores our user content.
For architectural simplicity and to keep shipping velocity high, most of our user content has been stored in a single database instance. For safety and redundancy, it's replicated and synced across multiple instances, but the maximum throughput of a single instance can result in degraded performance. This has worked for us for quite a while, but now we're nearing the limits of this approach. Our number one infrastructure priority is to re-architect this database to scale horizontally.
Once we complete the overhaul of this database, we expect to see both an increase in overall reliability and a step change in performance.
"Notion is slow" has been our #1 piece of feedback from users lately. As a north star goal, we want to have 95% of pages and databases load in less than a second.
We are focusing on three areas to make this possible: 1) Reducing load and navigation time for Notion pages, 2) Speeding up database load times, and 3) Creating an instant search experience throughout the app - not just Quick Find, but this includes other features like relation and mention menu search too.
We've been working on this for a month, and have already seen some quick wins that have reduced page load times by 25-30%. This was made possible by projects, including: