Task #300 (new)
Opened 18 years ago
Last modified 17 years ago
Linear performance degradation with increasing number of groupexperimentermaps
Reported by: | jamoore | Owned by: | jamoore |
---|---|---|---|
Priority: | critical | Milestone: | Unscheduled |
Component: | Performance | Version: | 3.0-M3 |
Keywords: | detached, clientsession, cleanup | Cc: | |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | n.a. |
Description
Somewhere in the security system the n+1 select problem is occurring with GroupExperimenterMaps. This wouldn't normally never be seen because of the small group of group/user interconnects, but it's getting nasty during security testing.
Change History (4)
comment:1 Changed 18 years ago by jmoore
- Component changed from Security to Performance
- Keywords detached clientsession added; performance queries removed
comment:2 Changed 18 years ago by jmoore
- Milestone changed from 3.0-M3 to 3.0-RC1
Around 1500 users and 500 groups, I also started to see OOM exceptions (Not proved to be related) We'll need to look into this before release. Rescheduling.
comment:3 Changed 18 years ago by jmoore
r933 added some methods to LocalAdmin to cut down on some of the groups and group/user maps which get loaded. This needs to be tested with a profiler.
comment:4 Changed 17 years ago by jmoore
- Keywords cleanup added
- Milestone changed from 3.0-Beta2 to 3.0-RC1
Looks like this is coming from the fact that I'm passing back in detached groups/owners. The calls on IAdmin.lookup{Experimenter|Group} return a lot of owners and groups. Passing these detached instances back into the server is guaranteed to re-load them all n+1 select style. In general, a mechansim to filter out the unchanged objects (passing unloaded proxies) would be a big performance boost. This could be combined with the client session.