Skip to Content.
Sympa Menu

grouper-dev - Re: [grouper-dev] Group Search Profiling

Subject: Grouper Developers Forum

List archive

Re: [grouper-dev] Group Search Profiling

Chronological Thread 
  • From: "GW Brown, Information Systems and Computing" <>
  • To: Shilen Patel <>
  • Cc:
  • Subject: Re: [grouper-dev] Group Search Profiling
  • Date: Tue, 31 Jul 2007 14:41:57 +0100

That's great. A quick look suggests that:

A lot of time was spent compiling stuff up front!

All times below rounded...

38 seconds was spent in the SearchGroupsAction

of which:

23 seconds -> GrouperQuery.getGroups
11 seconds -> Collections.sort
5 seconds -> GroupAsMap (UI wrapper for Group)

GrouperQuery.getGroups ->
11 seconds -> BaseQuery.filterByScope - stem filtering?
7 seconds -> PrivilegeResolver.internal_canViewGroups
5 seconds -> HibernateGroupDAO.findAllByApproximateAttribute

Collections.sort ->
11 seconds -> Group.getAttribute (492 invocations)
This looks like a lot of repetitive checking of whether the attribute is valid for the group and retrieval of values. I expect a lot of this could be cut out by appropriate caching.

GroupAsMap -> 50 invocations of each of following:
2 seconds -> SubjectFinder.findById
1.5 seconds -> Group.getParentStem
1 second -> Group.hasComposite
It is likely these can be changed so they are only called 'on demand'. If it turns out they are operations commonly called on a set of Groups they may be candidates for 'initialisation' i.e. whichever queries return lists of groups could also grab the parent stem etc, so new queries are not needed to retrieve them.

The UI calls an awful lot of JSP pages to construct a page. The overhead for each looks small, however, they can add up to a significant amount of time - which grows as you display more results. I'll have to look at how some of this stuff is implemented.


--On 31 July 2007 08:37 -0400 Shilen Patel

I've attached the snapshot on the wiki.


-- Shilen

GW Brown, Information Systems and Computing wrote:
Hi Shilen,

How big is the snapshot from Yourkit? If it isn't too big I would like
to try and oad it up so I can interact with the data and get a better
feel for it.



--On 30 July 2007 14:52 -0400 Shilen Patel


I've attached some profiling data as requested from the last call for
group searches in the UI. The data is located here:


The search operation took about 39 seconds in the UI and produced 55
results. About 28% of that time was spent sorting. Most of the
remaining time was spent in method calls that were invoked 55 times.
You'll also see that there were over 6,000 SELECT queries.


-- Shilen

GW Brown, Information Systems and Computing

GW Brown, Information Systems and Computing

Archive powered by MHonArc 2.6.16.

Top of Page