Is this the suppossed behavior of cache? #2967
Replies: 1 comment
-
This is correct b/c we only cache Parquet footers right now. @electron0zero is currently working on a change for Parquet page level caching. Once this is added a TraceQL query will make heavy use of cache.
This is also likely correct b/c we cache bloom filters depending on the provided settings. So if you have 10k blocks a trace by id search will access 10k bloom filters and attempt to cache them.
We do not cache results, but I would like to. We are seeing more patterns where people will put a TraceQL query on a dashboard that refreshes on a regular interval (e.g. every 30s). We have discussed frontend job caching as a way to help speed these queries up, but have not put work towards it yet.
You would see logs like this if tempo were timing out to memcached:
This is consistent with bloom filter caching. You should also see fewer hits to your object storage the second time.
We constantly query all of our internal Tempo instances using the vulture to ensure correctness. This definitely inflates our memcached hit rate.
When the ingester writes a block, it should also write the bloom filters of that block to cache. This is occurring b/c you have this set: |
Beta Was this translation helpful? Give feedback.
-
We have a new installation of Tempo and have the feeling we are doing memcache wrong.
We are using the tempo-distributed helm chart, relevant sections:
The behavior we see is that a TraceQL query will make the cache grow a little, displaying a trace will make it grow by a lot. This is consistent with thinking that the cache is storing results. This make sense, chances are if someone retrieves a trace that that person will share it with a colleague or return to it later.
But there are some things that makes me suspicious:
In short, I doubt we have set this correctly.
Beta Was this translation helpful? Give feedback.
All reactions