Monday, October 22, 2012

Re: Gunicorn vs Chaussette vs Meinheld

On Monday, October 22, 2012 1:09:56 PM UTC+2, Santiago Basulto wrote:
Hello people. Reading about Circus[1] I ran into a couple of different "WSGI servers" that I haven't heard before (Chaussette[2] and Meinheld[3]). My question is if those are all similar to Gunicorn (and can be used instead of the last) or are just complementary servers.


One thing that really confuses me is this:

Meinheld claims that you can use it with Gunicorn.

>gunicorn --workers=2 --worker-class="egg:meinheld#gunicorn_worker" gunicorn_test:app

And Chaussette claims that you can use Meinheld as the backend.

This is really confusing. What's the advantages of one over the other? I'm using Gunicorn right now and works pretty well. Have you used any of the others?



tl;dr: with Circus and Chaussette you get a nice process management tool where you can manage all your processes in a single place (web workers,celery, redis, rabbit, elastic search etc..)

long story:  Circus is able to bind the sockets and share them with the processes it manages.  The advantage is that you remove one layer of process management

In a classical stack, if you have Gunicorn running 5 workers, and let's say - one celeryd and one redis running, you end up with 2 layers of process managers: the one you use to manage gunicorn, redis and celeryd -- and gunicorn that manages its 5 workers.  You end up not being able to interact with your web workers the same way you'd do with your other processes in your stack.

using Circus, you can have a single layer of processes management.  More explanations here: http://circus.readthedocs.org/en/0.5.2.1/sockets/#circus-stack-v-s-classical-stack

As for Meinheld, it can act as a standalone wsgi web server, like uWsgi for instance - and Chaussette offers it as a backend. And it also happens to allow you to bind gunicorn - which in my opinion does not make much sense since it's already a wsgi server.

Cheers
Tarek






 

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/IYcPGsXy8WYJ.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment