Performance issues with concurrent users

Hi,

We currently have performance issue with our instance of RhodeCode if one user does a svn checkout / update with large files, the RhodeCode web site and other svn operation become really slow.

Our VM have 4 CPU, 8GB of ram, the repositories are not on the same drive as rhodecode. During the operation the RAM usage is around 2gb, CPU stays under 20%, R/W on the repo drive is ~5M/s and R/W on the main drive is near 0. (I use glances to get these)

I’ve looked at the doc and tried changing the workers settings in rhodecode.ini / vcsserver.ini, but these doesn’t seem to be available in the latest ini templates. So I’m not sure if they are deprecated or not.

Also, we recently upgraded from 4.28 to 5.7.0 and had to do some config merge from a fresh install to keep it working after the upgrade.

Do you have any configuration tips or any idea why this could be occurring?

Thanks!

Hi! Things to check for:

  1. look into gunicorn config for vcsserver and rhodecode - worker type should be gthread, and set proper number of workers
  2. you can also scale pods like adding another svn and vcsserver pod - but workers should be properly configured first

if you provide your current gunicorn config i can check and provide some advice

Hi!

I’m pretty sure the issue is with number 1, since like I said the worker settings seems to have disappeared from rhodecode.ini and vcsserver.ini.

I think that before the update (looking at the .replaced files) the config was gevent for rhodecode and sync for vcsserver.

Just to be sure that I’m doing the right change in config/_shared/rhodecode.ini and vcsserver.ini I should set these settings?
workers = 9
worker_class = gthread
threads = 4

Thanks for the help!

yes, you can use gthread for both of them now.

Heres latest docs covering this - Scaling to handle more traffic - RhodeCode rcstack 5.28.2 documentation

Following the documentation you shared I’ve been able to fix the issue.

Thanks a lot for the help.

1 Like