[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