Bug 1482555
| Summary: | sysdb index improvements - missing ghost attribute indexing, unneeded objectclass index etc.. | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Jakub Hrozek <jhrozek> |
| Component: | sssd | Assignee: | SSSD Maintainers <sssd-maint> |
| Status: | CLOSED ERRATA | QA Contact: | Amith <apeetham> |
| Severity: | unspecified | Docs Contact: | Aneta Šteflová Petrová <apetrova> |
| Priority: | unspecified | ||
| Version: | 7.3 | CC: | abondare, enewland, fidencio, grajaiya, jhrozek, lslebodn, mkosek, mzidek, pasik, pbrezina, sbose, sgoveas, tscherf |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | sssd-1.16.0-15.el7 | Doc Type: | Enhancement |
| Doc Text: |
Improved SSSD performance when adding new users
Previously, a missing index for an attribute caused the System Security Services Daemon (SSSD) to check every object in the SSSD cache for the attribute when adding a new user object to the cache. Consequently, adding a new user to a cache with many entries was sometimes unusually slow and caused a considerable increase in system load. This update adds an index for the attribute. As a result, the amount of time and CPU resources required to add a user to the cache no longer depends on the number of objects in the cache, which significantly improves the performance of SSSD when adding new users.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-04-10 17:13:24 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1472255 | ||
|
Description
Jakub Hrozek
2017-08-17 14:47:53 UTC
*** Bug 1486222 has been marked as a duplicate of this bug. *** The indexing fixes were merged: 9acdf51bf32d7b4389f3faea0fc6b73c56b6da71 Actually, let's mark this as POST when the objectcategory ticket is also merged. Upstream ticket: https://pagure.io/SSSD/sssd/issue/3503 * master: * 2927da49dd8a16fff6312d89ad43cc355655800c * 98195e591c4d97caa6125e8214879660b740973f * 0e238c259c066cf997aaa940d33d6bda96c15925 * 0cce3d3ad14caf406303cf2ce6bf80171b708a93 master: * 5b78fff78bb44d1af5420db23b02210f755f5f17 Verified this bug on SSSD Version : sssd-1.16.0-15.el7.x86_64
Steps followed during verification:
1. Create large number of users who are member of large groups.
2. Run id <user> command, group lookup cmd and collect the time statistics.
3. Compare the stats with older builds, to verify improved performance.
GLOSSARY OF VARIABLES USED:
----------------------------------------------------------------------------------
TEST_200_ID_STAT : ID command time for fetching record of a member of 200 groups :
TEST_500_ID_STAT : ID command time for fetching record of a member of 500 groups
TEST_1000_ID_STAT: ID command time for fetching record of a member of 1000 groups
TEST_1500_ID_STAT: ID command time for fetching record of a member of 1500 groups
TEST_2000_ID_STAT: ID command time for fetching record of a member of 2000 groups
TEST_3000_ID_STAT: ID command time for fetching record of a member of 3000 groups
TEST_200_GRP_LKP : Lookup time for fetching a group with 200 users
TEST_500_GRP_LKP : Lookup time for fetching a group with 500 users
TEST_1000_GRP_LKP: Lookup time for fetching a group with 1000 users
TEST_1500_GRP_LKP: Lookup time for fetching a group with 1500 users
TEST_2000_GRP_LKP: Lookup time for fetching a group with 2000 users
TEST_3000_GRP_LKP: Lookup time for fetching a group with 3000 users
----------------------------------------------------------------------------------
PERFORMANCE REPORT FROM LATEST TESTS COMPARING OLDER BUILDS & RHEL VERSIONS:
----------------------------------------------------------------------------------
VARIABLES | RHEL-7.2 | RHEL-7.4 | RHEL-7.5
----------------------------------------------------------------------------------
TEST_200_ID_STAT | 01m : 57.9297s | 00m : 20.2516s | 00m : 15.7532s
TEST_500_ID_STAT | 04m : 54.1192s | 00m : 52.9034s | 00m : 39.1856s
TEST_1000_ID_STAT | 09m : 47.6430s | 01m : 50.4866s | 01m : 22.0058s
TEST_1500_ID_STAT | 14m : 46.5822s | 03m : 27.0541s | 02m : 8.4198s
TEST_2000_ID_STAT | 19m : 54.5008s | 04m : 56.6328s | 02m : 50.7445s
TEST_3000_ID_STAT | 30m : 3.6612s | 05m : 52.1647s | 04m : 29.1755s
| | |
TEST_200_GRP_LKP | 00m : 0.3210s | 00m : 0.2295s | 00m : 0.1384s
TEST_500_GRP_LKP | 00m : 0.5551s | 00m : 0.3717s | 00m : 0.2113s
TEST_1000_GRP_LKP | 00m : 1.0775s | 00m : 0.5761s | 00m : 0.3944s
TEST_1500_GRP_LKP | 00m : 1.6610s | 00m : 0.8278s | 00m : 0.4977s
TEST_2000_GRP_LKP | 00m : 2.3798s | 00m : 1.1068s | 00m : 0.6232s
TEST_3000_GRP_LKP | 00m : 4.4606s | 00m : 1.5501s | 00m : 0.9165s
----------------------------------------------------------------------------------
Observation:
1. The statistics were collected from multiple rounds of automated tests. All the tests were conducted on Beaker VMs.
2. Overall the latest build on RHEL-7.5 shows better performance than its predecessors.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2018:0929 |