Large repo and statistics is really slow

Issue #119 resolved
Marc Sanfaçon created an issue

I just installed RhodeCode on our somewhat large HG repo (~12K changesets). The goal is to replace HGWeb which is slow on our repo and does not seem to permit certain operations concurrently, so it locks some users. Am I right that RhodeCode will be faster and permits concurrent access?

With statistics enabled, RhodeCode is really slow and also consumes a lot of ram. In the statistics, it says that ~15% of the statistics are available and it is consuming ~4GB of ram. There is a single user on the repo now since it is only for testing.

Disabling the statistics makes RhodeCode a lot faster. BTW, I did not deploy RhodeCode with Celery, yet.

Comments (5)

  1. Marc Sanfaçon reporter

    Thanks for the info. I installed RabbitMQ and configured it. I can see the connections established with RhodeCode:

    2011-02-26 18:37:46.918 INFO [rhodecode.lib.celerylib] running task eb6f2b45-ba5c-415c-96ba-d1e4a676510e:<@task: rhodecode.lib.celerylib.tasks.get_commits_stats>

    However, nothing seemd to be happening on the RabbitMQ side. No statistics are being generated. When I select "Reset current statistics" I see:

    2011-02-26 18:43:39.835 INFO [paste.httpserver.ThreadPool] kill_hung_threads status: 5 threads (3 working, 2 idle, 0 starting) ave time 0.01sec, max time 0.03sec, killed 0 workers

    Any idea what this may be? Is this a permission issues? The repo is readable by everyone.


  2. Marc Sanfaçon reporter

    Got it working! Forget my last comment. My session running 'paster celeryd' was killed... That was the problem.

  3. Marc Sanfaçon reporter

    It worked well, but I had to set the max.tasks.per.child = 1 so that memory would not run out.

    Now, I just need to figure out 2 things: 1- Configuration for Active Directory. I found this but I still haven't found the right Base DN string... working on it. 2- Configure HTTPS. I already have everything configured in Apache (HTTPS & LDAP/AD integration), but I need to make it work with RhodeCode.

    Any pointers? Thanks!

  4. Log in to comment