-
Notifications
You must be signed in to change notification settings - Fork 712
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
[WIP] Rate limit reading expensive files from /proc #814
Conversation
e835d21
to
a0806f9
Compare
a0806f9
to
5c29c6f
Compare
Have rebased, increased limits and made it so results are deleted once used (a bit racey right now, just an experiment). Results are improved but he connections are still flakey and sometime outright odd. Its worth testing without conntrack (as that has known bugs) so you know any mis-connections are due to this change:
|
I've experimented with grouping the processes by namespace to ensure that all the reads of However, I still miss a lot of connections. The cause most likely lays in the inconsistencies resulting from caching |
4ea7668
to
2c32110
Compare
This is still hacky/work in process, but works well. Now there's a background gorountine walking On the way I found out that we were not reading the network namespace inodes properly (the inode of the symlink is not the inode of the namespace), resulting in reading In the average case that should provide over one order of magnitude speedup to the PID walker (e.g. in my machine I have 162 processes and only 7 net namespaces). So, for now, maybe it's enough to simply cherrypick f63b637 and probably 2c32110 . |
004ab28
to
31a78ec
Compare
31a78ec
to
629d41e
Compare
I have made some measurements to see if it's still worth having a background reader after fixing the namespace reading but it doesn't seem to be the case. With 60 network namespaces, the probe is at ~15% CPU in both cases. BTW, master is over 30%, which gives us a 2x gain :) . So, I am closing this in favor of #898 and I will cherry-pick f799dc8 into a separate PR. |
+1 On Tuesday, 2 February 2016, Alfonso Acosta notifications@github.com
|
Fixes #812