Hi!
We just migrated a great amount of user data of an existing forum into an
Allura Forge instance. I have to say, that there are reasons for this move.
We really enjoy Allura and the possible workflows (especially E-Mail
subscriptions and answers).

But we encountered a performance issue. Some requests are taking below 1s,
others are taking 4-8s.

I did a trace, and most of the time is lost in "ming".
Then I digged a bit deeper and found out, that the query of the subscribed
status for mailboxes is a big performance killer:

    @expose('jinja:forgediscussion:templates/index.html')
    @validate(dict(page=validators.Int(if_empty=0, if_invalid=0),
                   limit=validators.Int(if_empty=None, if_invalid=None)))
    def index(self, threads=None, limit=None, page=0, count=0, **kw):
        if self.discussion.deleted:
            redirect(self.discussion.url() + 'deleted')
        limit, page, start = g.handle_paging(limit, page)
        if not c.user.is_anonymous():
           * c.subscribed = M.Mailbox.subscribed(artifact=self.discussion)*

Do you have any hints how this can be improved?
Maybe manually in my db, or by patching the forum app?

BR,
Ingo

Reply via email to