Hi,
the attached patches are the first self-contained part of my performance
work. Using them, I analyzed the performance of 'id' as the worst-case,
then realized most of the issues are around processing and storing large
groups. The results gathered using these scripts are in fact the base of
the improvements documented at:
https://fedorahosted.org/sssd/wiki/DesignDocs/OneFourteenPerformanceImpro...
I tried to add descriptive commit messages to the patches so that hopefully
all the info is in those commit messages. We will probably add more probes
into different areas of code, but these are the ones that I already haven't
modified for weeks, so I think it should be safe to merge them.
The probes are enabled in our RPMs and I would encourage downstreams to
enable them as well. There is virtually no cost of having the probes
compiled in by default and the benefit would be that admins can run them
to see what are the bottlenecks in their environment. I was also
wondering if it makes sense to add a generic back-end-request tracking
probes and an associated script, but since the data provider is being
re-factored at the moment, I think it would be better to land the DP
changes first.
The reason I split the sysdb probes into several commits (unlike the LDAP
probes) is that I think in future, we can use these commits as a
reference for adding more probes to different areas of SSSD.
CI:
http://sssd-ci.duckdns.org/logs/job/42/99/summary.html
(BTW, thanks to Lukas for helping me a lot with the build failures on
#sssd last week)