Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Theme: Performance #15

Open
gabestein opened this issue Oct 8, 2024 · 3 comments
Open

Theme: Performance #15

gabestein opened this issue Oct 8, 2024 · 3 comments

Comments

@gabestein
Copy link
Member

gabestein commented Oct 8, 2024

Summary

The app looks and functions great, but there are some performance gaps we can improve to give users, and our selves, more confidence in its ability to scale to support large knowledge applications. To accomplish this, we'll improve data-fetching and display, and implement load testing.

Core Goals

  • All pages sub-2s fully rendered for Thomas
  • Improve TTFB (both feel and actual)
  • Improve data-fetching time of core pages
  • Understand limits and bottlenecks of the app as constructed

High-Level Projects

Note: I'm pretty out of my depth here, so this is my best attempt based on our prior discussions.

  • Get caching working?
  • Paginate pages/components that can be easily paginated
  • Improve inefficient queries across the board, but particularly on pages that can't be paginated easily (e.g. workflow management)
  • Implement a load testing strategy that simulates thousands of concurrent users on an app the order of magnitude of BAAS (~10,000 pubs)
  • Improve loading and in-progress states (e.g. Form auto-saving, inviting a user, loading the "all pubs" page)

Technical implementation notes

@gabestein gabestein converted this from a draft issue Oct 8, 2024
@gabestein
Copy link
Member Author

Take a look at data we're collecting (e.g. honeycomb)

@gabestein
Copy link
Member Author

gabestein commented Oct 10, 2024

  • Reactivity and TTFB — more and better loading states (e.g. member invites, etc.)
  • Making core runners a bit larger might help improve performance
  • Next caching in memory/redis/etc. might make it faster
  • Serve static assets in CDN

@gabestein
Copy link
Member Author

gabestein commented Oct 10, 2024

Need to do deep query audit so we're not reliant on caching entirely, reusing queries where we can, etc. Could do this by configuring sentry to alert us on query times and then do a load test to identify bad queries.

Define specific query metrics that drive our work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

1 participant