Child pages
  • Grouper 2.3.0 vs 2.2.2 Performance
Skip to end of metadata
Go to start of metadata

The following is performance results from Grouper API calls using both Grouper 2.3.0 and Grouper 2.2.2. Each call was made several times and an average was taken. Both Grouper instances were prepopulated with equivalent data before performing this test. Default configuration was used with the exception of database settings in grouper.hibernate.properties. 

Here's a summary of what was prepopulated:

Groups: 126,801
Stems: 105,921
Immediate memberships and privileges: 1,074,446
Attribute assignments: 125,400
Attribute def names: 41,895
Permissions: 585,200

This data was mostly added by running edu.internet2.middleware.grouper.helper.LoadData. 

Note that these tests were run on a test database server that's shared with other applications so your results will vary...  A single Oracle 11g database instance was used for both Grouper versions. Both versions were installed on separate schemas. The test was executed by:

  1. Using the Grouper API to add any required data for the operation.  For instance, the effective membership add/delete tests required creating a group with 1000 members.
  2. Then using the Grouper API to run the operation several times (mostly either 10 times or 100 times) and taking an average of the time.

Operation

Grouper 2.3.0 (ms)

Grouper 2.2.2 (ms)

GroupFinder.findByName()

34

Group.hasImmediateMember(Subject)

3131

Group.hasEffectiveMember(Subject)

3025

Group.hasMember(Subject)

2119

Group.hasOptin(Subject)

3423

Group.getPrivs(Subject)

2633

Group.getUpdaters()

43

Group.getEffectiveMembers()

43

Group.getEffectiveMemberships()

55

Group.getImmediateMembers()

33

Group.getImmediateMemberships()

75

Group.getMembers()

33

Group.getMemberships()

55

MemberFinder.findBySubject()

3026

Member.getEffectiveMemberships()

87

Member.getImmediateMemberships()

77

Member.getMemberships()

44

StemFinder.findByName()

22

Stem.getPrivs(Subject)

4045

Stem.hasCreate(Subject)

2321

Stem.getStemmers()

43

Group create

193185

Group delete

117117

Role create

195204

Attribute def name create

7476

Assign role permission

6754

Remove role permission

3232

Attribute def name delete

2722

Role delete

110107

Stem create

172142

Stem delete

8881

AttributeDef create (type=perm)

151133

AttributeDef delete (type=perm)

8185

Membership add

5045

Membership delete

2422

Membership add where member is a group

7065

Membership delete where member is a group

2934

Membership add causes composite

6461

Membership delete causes composite

3840

Group privilege (update) add

2121

Group privilege (update) delete

1618

Stem privilege (create) add

2123

Stem privilege (create) delete

1717

Effective membership (1000) add

2225

Effective membership (1000) delete

1718

  • No labels