-
-
Notifications
You must be signed in to change notification settings - Fork 71
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
Routinator resource usage #333
Comments
When you zoom in a bit, do you see short bursts of CPU usage? Typically, things should be a bit hectic for a minute or two and then calm for ten minutes. Given that each validation run includes validating signatures on around 100,000 objects, quite a bit of CPU usage is to be expected. Similarly, these 100,000 objects – each is its own file –, are read every 10 minutes explaining the disk usage. I’d expect them to be mostly cached if the machine has enough memory, but if it is a VM on a busy host, ten minutes may be too long for them to stay in the cache. |
Thanks for the report and the graphs! While we expected higher RAM usage due to the new database in 0.9, it certainly is too much now and consumption also seems to be growing over time. We are investigating both right now and hopefully will have a fix soon. |
Please note that RAM usage in 0.10.0 is now significantly lower than in 0.9.0:
|
Yeah, I have upgraded last week and I confirm. Thanks a lot for the work done. It even seems to be lower than 0.8.0 ;) |
It is a bit odd that this happens on every third validation run (assuming you’ve kept the refresh time at ten minutes), but otherwise not entirely unexpected if you have a lot of cores. Routinator uses a thread pool during validation that is by default configured to be the number of cores. Each thread processes one repository including updating the repository. If there is nothing to update and you have most of the files buffered (if you have enough memory), you can end up with all threads basically just validating signatures and using a lot of CPU. This would just be a short spike since most repositories are quite small and eventually there will be only two or three working threads left. So, while seeing this every third run is certainly strange, I think this is normal. You can, however, limit the amount of threads (and thus cores used) via the |
Based on this tweet I was asked to open a github issue about my routinator resource usage. This isn't an operational issue for me, the server can handle it, and I don't know whether there is an actual bug, but since I was asked to open an issue, here it is.
Here you can see when I started running routinator:
After running for about 38 hours, the routinator server is at 1h18m of CPU time, so that seems to match those graphs. It's running on a single core virtual machine.
I installed it following the quick start exactly, I am running routinator server with those parameters. There are three BIRD instances using it for RPKI validation, IPv6 only.
Here are my full logs from the last start, nothing in there seems unusual.
The text was updated successfully, but these errors were encountered: