Welcome! Log In Create A New Profile

Advanced

Hello world upload_module adds 2 sec delay to file uploads

June 22, 2009 03:13PM
Uploading a small "hello world" file using upload_module takes about 2 seconds, while not using upload_module and passing it directly to my fastcgi is almost instantaneous. To debug the problem I modified the upload_module code and added a debug statement at the end of function ngx_http_upload_handler, and another at the beginning of the function ngx_http_read_upload_client_request_body_handler.

Using nginx_upload_module-2.0.9

2009/06/22 12:02:56 [error] 16737#0: *1 returning ok in ngx_http_upload_handler, client: 127.0.0.1, server: myhost.com, request: "POST /upload/this HTTP/1.1", host: "localhost:81"
2009/06/22 12:02:58 [error] 16737#0: *1 67964 begin ngx_http_read_upload_client_request_body_handler , client: 127.0.0.1, server: myhost.com, request: "POST /upload/this HTTP/1.1", host: "localhost:81"

Notice the 2 second delay between those calls. Are there other settings I could tweak to get that 2 second delay down?


Here is my nginx.conf


-----------------
user www www;
worker_processes 5;
worker_rlimit_nofile 8192;
error_log logs/error.log info;
pid logs/nginx.pid;
events {
worker_connections 2000;
}
http {
include mime.types; # Default for now
default_type application/octet-stream;
access_log logs/access.log;
sendfile on;
tcp_nopush on;
keepalive_timeout 65;
upstream upload_workers {
server localhost:2121;
server localhost:2122;
server localhost:2123;
server localhost:2124;
}
server {
listen 81;
location /upload {
# This needs to remain large
client_max_body_size 1000M;
upload_pass @upload_taker;
upload_store /tmp;
upload_store_access user:rw group:rw all:rw;
upload_set_form_field $upload_field_name.name "$upload_file_name";
upload_set_form_field $upload_field_name.content_type "$upload_content_type";
upload_set_form_field $upload_field_name.path "$upload_tmp_path";
# Integrity checking. Optional.
# upload_aggregate_form_field "$upload_field_name.md5" "$upload_file_md5";
# upload_aggregate_form_field "$upload_field_name.size" "$upload_file_size";
upload_cleanup 400 404 499 500-505;
}
# Pass altered request body to a backend
location @upload_taker {
include fastcgi_params;
fastcgi_pass upload_workers;
}
location / {
index index.html;
}
error_page 404 /404.html;
}
}

----------

To post to nginx, I'm using
echo "Hello world" > /tmp/hworld
curl -F 'file1=@/tmp/hworld' 'localhost:81/upload/this'

Thanks for any help!
Subject Author Posted

Hello world upload_module adds 2 sec delay to file uploads

jack June 22, 2009 03:13PM

Re: Hello world upload_module adds 2 sec delay to file uploads

Valery Kholodkov June 22, 2009 03:50PM

Re: Hello world upload_module adds 2 sec delay to file uploads

jack June 22, 2009 05:13PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 301
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