profile Roster in particular site to see where performance bottleneck is
Description
Environment
Test Plan
Attachments
- 15 Sep 2008, 08:11 AM
- 15 Sep 2008, 08:11 AM
Activity
Bryan Holladay (old account) February 5, 2009 at 6:59 AM
This is already being addressed by another jira
Ray Davis September 16, 2008 at 10:25 AM
Re-assigning to Bryan for review.
Ray Davis September 16, 2008 at 10:16 AMEdited
Sorry about the timing, Bryan! Yes, this is a partial overlap with SAK-14230.
It mostly duplicates the UserDirectoryService "getUsers(Collection userIds)" improvement, although because it sticks to single-table queries instead of joins, it reduces to a minimum of 2 queries as opposed to a minimum of 1 query.
It misses the "getUsersByEids(Collection userEids)" improvement because Bryan was focusing on Roster rather than including Site Info as another trouble spot.
It adds generic support to the SqlService for "select ... where ... in" queries when going against a single-table "entity". Assuming that we have a client in need of such support, this seems like an excellent idea (it doesn't apply for what I was doing because I used joins), with the addendum that it might be nice to embed the knowledge of database limits on the "in" list size in SqlService rather than making the client handle it.
I share Bryan's desire for someone other than myself to do some before-and-after scalability profiling on the change.
Also, Bryan, since you're likely the most knowledgeable code reviewer possible at this point , would you mind looking over the changes I have in the branches / patches that are attached to https://sakaiproject.atlassian.net/browse/SAK-14230#icft=SAK-14230 ? Thanks!
Oliver Heyer September 15, 2008 at 10:08 AM
He' s out today, but he'll have a look. The specific issue is this:
Lance Speelmon September 15, 2008 at 9:40 AM
Most likely - could you have Ray look at this patch to see if there is any overlap? Thanks, L
The roster for the following site is taking a really long time to load with sites that have a large number of participants.
I've attached two patches that needs to be tested/profiled.