With current approach I see about 40% boost in overall page load on test 
environment so it's pretty fine now (generated 5000 tickets with a 
[script](https://sourceforge.net/p/allura/pastebin/53e4b2c2bcf63a4cade1ecf2) to 
see the difference)

At first I had a concern about skipping permissions check for tickets with 
`acl=[]`, since if there's no acl for a ticket, permission checking logic 
checks acl in a parent security context (app_config in this example), and I 
thought there would be problems with this. Experimentally, though, it seems 
like it doesn't affect milestones page.

Second concern is that there's no index on acl, so those queries might be not 
so fast. So, if we stick with this approach, maybe we should add index on acl 
and see if it affects those queries.

But, I think that removing permissions checks entirely for this method would be 
great, since we're presenting only counts here, not tickets. Currently it's 
used only in two places:

- milestones edit view (which requires that user has a 'configure' permission, 
so there's a good chance that user is admin and can see all the tickets anyway)
- milestone individual view (e.g. `/p/test/tickets/milestone/2.0/`) - I see 2 
counts here (one from pagination widget and a second one from 
`milestone_count()` and they do not match if  you not logged in as admin (both 
on master and on al/7566)

Also, I don't see a problem with those values mismatch, 'cause the 
`milestone_count()` used to represent the progress, and I believe anyone should 
be able to see a real counts in milestone progress, even if they don't have 
permissions to see some of actual tickets.

I think we also need Dave's opinion on this :)


---

** [tickets:#7566] Milestone admin page can be very slow**

**Status:** code-review
**Milestone:** forge-aug-8
**Labels:** performance 
**Created:** Fri Jul 11, 2014 04:23 PM UTC by Dave Brondsema
**Last Updated:** Thu Aug 07, 2014 07:48 AM UTC
**Owner:** Alexander Luberg

https://sourceforge.net/p/allura/tickets/milestones in particular is getting 
really slow.  I suspect its due to queries for the "Progress" column for every 
milestone.  Perhaps those can be run in a single mongo query somehow, or 
parallelize with threads.  Or just skipped for closed milestones.


---

Sent from sourceforge.net because [email protected] is subscribed to 
https://sourceforge.net/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/allura/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.

Reply via email to