@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 [email protected] 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.