We are developping an application that, for many reasons, is based on a aging code base. It is actively used by customers, and keeps evolving.
We recently came accross performance problems, which we chose to solve by adding caches. Lists, Menus, big Graphs, they are all stored as some sort of cache (separate files on the file system)
For each cache you basically have two processes:
- a cache creation process (or update)
- a cache deletion/refreshing process
Since the application is monolithic, the possible actions that cause a cache saving or clearing are not obvious and self-explaining. There are many entry points that could trigger such a process (build a new menu? clear the menu cache - and so forth).
So we sometimes have the problem that a very minor part of the app is not clearing the cache, for example. Or another one is not refreshing the cache when it should.
Basically, we lack overview of all cache clearing/saving triggers.
Two questions:
- how can I accurately model such an overview?
- how should I technically organize the triggers which clear or save caches ?
Aucun commentaire:
Enregistrer un commentaire