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

Cache more things #2783

Open
Macroz opened this issue Nov 18, 2021 · 0 comments
Open

Cache more things #2783

Macroz opened this issue Nov 18, 2021 · 0 comments
Assignees
Labels
Enhancement Technical Debt Improving internal product quality

Comments

@Macroz
Copy link
Collaborator

Macroz commented Nov 18, 2021

We can reduce the amount of DB calls for our APIs. For example loading the Resources admin screen with 1K (perf test) resources causes roughly 3K DB calls (1 to load the 1000 resources, 1000 to enrich org for each, 1000 to enrich license to each, 1000 to enrich org of each license ...). This is not an immediate problem but a straightforward performance improvement is possible.

  • Consider caching resources, organizations, ... i.e. every major business item.
  • Consider caching the enriched item (i.e. service level cache) with its dependencies.
  • Decide and use one way for caching these business items. See also Provide cache functions from unified namespace #2777
  • When to invalidate? Using the dependencies namespace? Manually in admin functions is OK? Should invalidations happen in the background by a poller?
  • An API for invalidating could be useful. A CLI command too?
    • Would CLI commands use this API or do something in DB for the REMS server instance to invalidate?
@Macroz Macroz added Technical Debt Improving internal product quality Enhancement labels Nov 18, 2021
@Macroz Macroz added this to the Internal cleanup milestone Mar 20, 2022
@Macroz Macroz self-assigned this Jan 29, 2023
@Macroz Macroz mentioned this issue Oct 2, 2023
4 tasks
This was referenced Aug 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Technical Debt Improving internal product quality
Projects
Status: In Progress
Development

No branches or pull requests

1 participant