nginx (tengine) and radosgw

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've just finished converting from nginx/radosgw to tengine/radosgw, and 
it's fixed all the weird issues I was seeing (uploads failing, random 
clock skew errors, timeouts).

The problem with nginx and radosgw is that nginx insists on buffering 
all the uploads to disk.  This causes a significant performance hit, and 
prevents larger uploads from working. Supposedly, there is going to be 
an option in nginx to disable this, but it hasn't been released yet (nor 
do I see anything on the nginx devel list about it).

tengine ( http://tengine.taobao.org/ ) is an nginx fork that implements 
unbuffered uploads to fastcgi.  It's basically a drop in replacement for 
nginx.

My configuration looks like this:

server {
         listen 80;

         server_name *.rados.test rados.test;

         client_max_body_size 10g;
         # This is the important option that tengine has, but nginx does not
         fastcgi_request_buffering off;

         location / {
                 fastcgi_pass_header     Authorization;
                 fastcgi_pass_request_headers on;

                 if ($request_method  = PUT ) {
                   rewrite ^ /PUT$request_uri;
                 }
                 include fastcgi_params;

                 fastcgi_pass unix:/path/to/ceph.radosgw.fastcgi.sock;
         }

         location /PUT/ {
                 internal;
                 fastcgi_pass_header     Authorization;
                 fastcgi_pass_request_headers on;

                 include fastcgi_params;
                 fastcgi_param  CONTENT_LENGTH   $content_length;

                 fastcgi_pass unix:/path/to/ceph.radosgw.fastcgi.sock;
         }
}


if anyone else is looking to run radosgw without having to run apache, I 
would recommend you look into tengine :)


[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux