$1000 Bounty for Features (or put my money where my mouth is ;)

Igor Sysoev is at rambler-co.ru
Tue Mar 6 21:39:09 MSK 2007

On Wed, Feb 28, 2007 at 06:40:54PM -0800, Ezra Zygmuntowicz wrote:

> 	 We currently have 160 virtual servers all running nginx proxying to 
> mongrel clusters and nginx is in the heart of our architecture. I  
> wanted to offer to sponsor the development of 2 specific features  
> that we really would like to have in nginx.
> 	I'd like to sponsor these features by donating $1000 US dollars to  
> your efforts. Nginx is my absolute favorite webserver and it is a  
> core part of our platform. These 2 features would make my life much  
> easier and would benefit anyone who uses Nginx and Mongrel together.  
> You would make me and a lot of others very happy people if we could  
> get these features supported.
> 1.	 Connection rate limits for proxy backends.
> Since Rails is not threadsafe and locks the Mongrel it runs in during  
> each dynamic request, it would be way better if we could limit the  
> connection rate per proxy backend. RIght now nginx will continue to  
> pile requests onto a mongrel even if it is busy causing requests to  
> queue up in threads in mongrel waiting for their turn to lock the  
> mutex and do a dispatch. I would much rather be able to set a  
> connection rate of 1 or 2 per mongrel and have the requests queue in  
> nginx, which is much more efficient since nginx is event driven.
> 2. 	A way to turn off the buffering of file uploads so that backends  
> can handle the upload instead of nginx.
> I had a serious problem yesterday when a corrupted .png file was  
> uploaded, I had 6 mongrel backends behind nginx, Nginx gave the  
> bad .png to the first Mongrel and the bad png plus some error in the  
> code caused a segfault in Mongrel. So then Nginx recovered and sent  
> the same png file to the next mongrel and it segfaulted and on and  
> on. So one bad file upload that caused mongrel to segfault made *all*  
> the mongrel backends segfault because it retried each backend.
> I would really like a setting that that allows me to turn off the  
> buffering of file uploads altogether if I want. This would allow me  
> to handle upload progress in a backend as well as avert this problem  
> where a bad png file can cause nginx to serve the same file to all  
> backends, killing them all with segfaults. These segfaults are not  
> nginx's problem I realize but having an option to turn this off will  
> let me better handle this kind of thing.
> 	Thanks for your time Igor, and many thanks for Nginx! I hope that  
> you will accept my offer ;)

As I have promised I will implement non-bufferred uploads.
The backend connections limits will be implemeted too - I had planned
long ago.

Igor Sysoev

More information about the nginx mailing list