Hi Bolang,

I'm not sure what you meant by "simply using nginx" since as far as I
know it doesn't have standard WSGI module. I hope you're not talking
about running WSGI application as CGI script, do you?

As to comparing Gunicorn to gevent-fastcgi Gunocorn is HTTP server and
gevent-fastcg is FastCGI one. FastCGI can run over UNIX domain
sockets, it can multiplex requests using single connection. That could
be deal-breaker when application is using long-polling requests and
there are thousands of clients that can be accessing it
simultaneously. Beside HTTP is not well suited for communication
between frontend and backend (just recall famous need to fix
hostname:port in backend server responses because backend server has
no way to get access to original HTTP-request and it might not even
know that there is something that makes request on behalf of client
browser). There is no such problems in FastCGI protocol because it was
specifically designed for frontend/backend communication.

Gevent-fastcgi is not well suited for any type of applications. The
application should not block since everything is run in the same
thread (there are greenlets that are used in place of thread to avoid
GIL). Not all databases and other external resources can be used in
non-blocking mode. Luckily PostgreSQL, MySQL, Memcache are those that
have adapters/hooks for making them work well in non-blocking manner.

Alex

Bolang wrote:
> Hi Alexander,
> What is the advantage of using gevent-fastcgi instead of simply using
> nginx and maybe with gunicorn?

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

Reply via email to