Why Nginx Doesn't Implement FastCGI Multiplexing?
Ji Zhang
zhangji87 at gmail.com
Sat Mar 9 14:43:47 UTC 2013
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
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?
Thanks
Jerry
More information about the nginx
mailing list