On 01/26/2015 10:01 PM, Tim Downey wrote:
Hi folks,

I'm running a Kallithea instance with about 100 repositories and healthy amount of CI activity across several branches on each repository. I'm looking for some tips on tuning performance. I'm running using waitress (at least I think I am) and see what look like several knobs in the production.ini file that can be turned, but I'm not really sure what I'm looking at.

See below for my settings. Can anyone point towards what I can be looking at or changing? I appear to be CPU bound, not io or mem. Most of my activity is the result of my CI activity, not users through the web interface.

Normal Python was not designed for multi core CPUs. Neither was Mercurial ... even though hgweb should handle multi threading correctly. (I use largefiles which do horrible hacks with live monkey patching of modules and I would not dare to use that multithreaded.)

I would suggest a setup with multiple worker processes. I don't know how feasible that is with the Python web servers. It seems like people then put another web server / proxy in front of them - which in my opinion gives a much more complicated setup.

I am a relatively happy user of apache + mod_wsgi. It scales nicely with multiple single-threaded worker processes but might require more memory. (I might however investigate uwsgi.)

I am surprised you don't mention your database. Could it be that you are using sqlite and you need something that is less light?

/Mads

_______________________________________________
kallithea-general mailing list
[email protected]
http://lists.sfconservancy.org/mailman/listinfo/kallithea-general

Reply via email to