-
Hello, my system is currently using jaeger, so I intend to read jaeger data from kafka and write to tempo. So far I've created a demo using docker compose.It runs on my laptop, so the configuration may not be high, but the current efficiency does seem too low. The resources I assigned to docker were 6 CPU and 8GB,other containers may take up a little, but not much. Most of the configurations come directly from example/local,this is my tempo conf
dockerfile is like this:
When I use only one tempo image,it has some logs like this
Then I added more tempo containers,only one of them has high CPU occupation,and it has logs like this.And the processing speed is even slower
And others has logs like this
I would like to get some suggestions on how to improve the performance of the configuration, if you need more details please let me know.Thank you very much! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 8 replies
-
6 CPU is quite a lot for that kind of traffic. 8GB might be normal. Tempo can be memory hungry during the compaction and when the ingester cuts the wal block to a complete block. There's a lot of ways we can go with this. My initial suggestions is going to be use tempo in a fully distributed mode. This will allow us to easily see where memory/cpu is being consumed. You can use the tempo-distributed helm chart or this distributed docker-compose. And secondly, a common cause of higher resource usage, is large traces. Perhaps try to restrict trace size using:
|
Beta Was this translation helpful? Give feedback.
@joe-elliott @mapno Hi all,I found a configuration item max_traces_per_user, and by turning it up and using otel collector my problems were solved. Thank you very much for your suggestions