Welcome! Log In Create A New Profile

Advanced

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

Maxim Dounin
March 11, 2013 08:14AM
Hello!

On Sat, Mar 09, 2013 at 10:43:47PM +0800, Ji Zhang wrote:

> Hi,
>
> I'm doing some research on FastCGI recently. As I see from the FastCGI
> specification, it does support multiplexing through a single
> connection. But apparently none of the current web servers, like
> Nginx, Apache, or Lighttpd supports this feature.
>
> I found a thread from nginx dev mailing list back to 2009, stating
> that multiplexing won't make much difference in performance:
> http://forum.nginx.org/read.php?29,30275,30312
>
> But I also find an interesting article on how great this feature is,
> back to 2002:
> http://www.nongnu.org/fastcgi/#multiplexing

This article seems to confuse FastCGI multiplexing with
event-based programming. Handling multiple requests in a single
process is great - and nginx does so. But you don't need FastCGI
multiplexing to do it.

> I don't have the ability to perform a test on this, but another
> protocol, SPDY, that recently becomes very popular, and its Nginx
> patch is already usable, also features multiplexing. So I'm curious
> about why spdy's multiplexing is great while fastcgi's is not.
>
> One reason I can think of is that tcp connection on the internet is
> expensive, affecting by RTT, CWND, and other tube warming-up issue.
> But tcp conneciton within IDC (or unix-domain socket on localhost) is
> much cheaper. Besides, the application can also go the event-based
> way, to accept as much connections as it can from the listening socket
> and perform asynchronously.
>
> Does my point make sense? or some other more substantial reasons?

You are correct, since FastCGI is used mostly for local
communication, multiplexing on application level isn't expected to
be beneficial. Another reason is that multiplexing isn't
supported (and probably will never be) by the major FastCGI
application - PHP.

There were several discussions on FastCGI multiplexing here, and
general consensus seems to be that FastCGI multiplexing might
be useful to reduce costs of multiple long-polling connections to
an application, as it will reduce number of sockets OS will have
to maintain. It's yet to be demonstrated though.

--
Maxim Dounin
http://nginx.org/en/donation.html

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

Why Nginx Doesn't Implement FastCGI Multiplexing?

zjerryj March 09, 2013 09:44AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

Maxim Dounin March 11, 2013 08:14AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 19, 2013 09:02PM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

B.R. July 19, 2013 09:28PM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 19, 2013 10:05PM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 19, 2013 10:50PM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 19, 2013 10:59PM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 19, 2013 11:07PM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

B.R. July 19, 2013 11:42PM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 19, 2013 11:55PM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

B.R. July 20, 2013 12:12AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

Igor Sysoev July 20, 2013 12:28AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 20, 2013 12:36AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 20, 2013 12:41AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 20, 2013 12:43AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 20, 2013 01:02AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 20, 2013 12:51AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

Igor Sysoev July 20, 2013 12:42AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 20, 2013 12:50AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

GreenGecko July 20, 2013 01:02AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

Igor Sysoev July 20, 2013 01:02AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 20, 2013 01:05AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 20, 2013 01:11AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

Igor Sysoev July 20, 2013 01:10AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 20, 2013 01:23AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 20, 2013 01:25AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

Igor Sysoev July 20, 2013 01:44AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 20, 2013 03:52AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

momyc July 20, 2013 04:17AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

Igor Sysoev July 20, 2013 05:20AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

DevNginx October 04, 2013 09:43AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

Maxim Dounin October 04, 2013 12:50PM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

DevNginx October 05, 2013 11:12AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

Wter S. September 14, 2014 03:24PM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

Maxim Dounin September 15, 2014 06:44AM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

Wter S. September 15, 2014 12:18PM

Re: Why Nginx Doesn't Implement FastCGI Multiplexing?

Maxim Dounin September 16, 2014 08:02AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 112
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready