[rt-devel] Users::WhoHaveRight and Sybase (and postgres!)

Paul Wagland pwagland at allshare.nl
Thu Jun 26 06:24:45 EDT 2003


Audley, Christopher wrote
> Sent: Wednesday, June 25, 2003 20:46
> Subject: [rt-devel] Users::WhoHaveRight and Sybase
>
> We have been pushing with all our might to get RT3 deployed on
> Sybase.  We have had it up and running for a while but the
> performance just didn't cut it.  The most glaring problem was
> trying to create a new ticket.  The ticket submission form would
> take 5-10 minutes to come up.  All of this time was spent in the
> Users::WhoHaveRight, even after upgrading to rt 3.0.3.
>
[...]
>
> The solution we found is to break WhoHaveRight into two steps.
> First, get the groups that have the right, via a new method
> Groups::WithRight, followed by a query for the members of a set
> of groups, Users::WhoBelongToGroups.
>
> Using this split query, we get access times down to less than
> 300ms.  I've attached the local/lib/RT/Users_Local.pm,
> local/lib/RT/Groups_Local.pm and local/html/Elements/SelectOwner
> that we are using, I'm curious if this method improves access
> times with other database engines.

Well, I have tested this and have come up with the following results (all
times are averaged over ten runs):

Page					before time		after time
Ticket/Create.html		13.6			0.4
Ticket/ModifyPeople.html	9.5			0.6
Search/Bulk.html			~4			~2

These times come from running wget 10 times on these URLS, and then dividing
the cumlative (second) times by ten, so they might be a little rough... That
said however, they are still significantly faster!

This will be going into our production environment, so if we see any
problems I will let you know.

Thanks Christopher for the great work!

Cheers,
Paul





More information about the Rt-devel mailing list