You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@allura.apache.org by Pranav Sharma <pr...@gmail.com> on 2016/02/23 19:58:20 UTC

[allura:tickets] #8019 Too many cached_branches/tags

@Dave, How to proceed with this one?



---

** [tickets:#8019] Too many cached_branches/tags**

**Status:** open
**Milestone:** unreleased
**Labels:** performance 
**Created:** Mon Nov 09, 2015 07:09 PM UTC by Dave Brondsema
**Last Updated:** Mon Nov 09, 2015 07:09 PM UTC
**Owner:** nobody


Some repos can get a large number of cached branches or tags.  The large lists cause a ming performance penalty:  e.g. one request timing had 296ms in mongo, 2304ms in ming.

This is particular true for the sidebar when it hits `repo.forks` property (twice), which loads many repo objects into memory.   We could look into ways to not load those fields when not needed, or skip ming validation on them (see `validate_ranges` option of ming `Array`).  Or just querying for a count and not getting the objects at all.  Or cap the size of the lists.

>From forge-allura's own mongo, look at the size of these cached branches lists:

~~~~
> db['git-repository'].find({}).forEach(function(u) { print(u.cached_branches && u.cached_branches.length, u.url_path) });
undefined /p/test/
undefined /u/masterbunnyfu/
undefined /u/shujisado/
undefined /p/allura/
0 /u/swelltt/
undefined /u/mtem/
undefined /u/barki2015/
0 /p/allura/
0 /u/dnayak/
24 /u/brondsem/
776 /p/allura/
547 /u/saintaardvark/
725 /u/lxj/
550 /u/testmr/
550 /u/vansteenburgh/
583 /u/alexluberg/
543 /u/masterbunnyfu/
643 /u/jetmind/
649 /u/heiths/
577 /u/shujisado/
641 /u/mishravikas/
695 /u/yesidid180/
758 /u/jredd/
776 /u/pranav/
~~~~


---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed to https://forge-allura.apache.org/p/allura/tickets/

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