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

Draft: Testing LRU caching of datasource clients #13561

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

mike12345567
Copy link
Collaborator

Description

Implementing a basic cache for Postgres, using LRU and merkle-json (https://www.npmjs.com/package/merkle-json) to hash the configuration.

The goal here is to reduce wasteful client creation/destruction, we've seen in the past over-connecting when using search heavy pages in Budibase, this should help with that as well - it should also speed up self host implementation in theory, as they'll have a pretty much permanent connection when the app is in use.

By default this is set to a TTL of 10 minutes and max of 50 clients, for self host these numbers will be fine, but in the cloud they may need some tweaking. In theory the worst case is that we start to connect too often, but this would need some QA to confirm.

This still requires implementation for all other datasource+ - datasources won't really benefit from this as they are executed within a thread that has a limited lifetime, its not really possible to cache those clients.

@mike12345567 mike12345567 added do not merge PR is not ready to be merged - generally the PR description should say why firestorm Data/Infra/Revenue Team labels Apr 25, 2024
@mike12345567 mike12345567 self-assigned this Apr 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
do not merge PR is not ready to be merged - generally the PR description should say why firestorm Data/Infra/Revenue Team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants