Nginx обслужва статични данни много бавно

Хоствам RoR приложение зад nginx обратен прокси и конфигурирах nginx да обслужва директно всички статични данни, без да ги предава на RoR приложението (хоствано от Thin сървър).

Смешното сега е, че изображенията, таблиците със стилове, javascript и т.н. се изтеглят наистина, наистина бавно ‹ 10kB/s. Но ако се опитам да изтегля същия файл директно от Thin сървъра, той се доставя при пълна скорост > 1MB/s.

Пример:

www.example.com/files/big_file.zip -> много бавно

www.example.com:3000/files/big_file.zip -> много фааааст

Някой има ли идея къде може да се случи това затруднение? Или някой може да ми предостави някои идеи за конфигурация на nginx?

Малко повече информация за средата: Intel Core i7-920 Quad-Core 8GB Ram

Debian Squeeze Nginx 1.0.6

Това е nginx.conf

user  www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;


    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

    # increase upload file sieze
    client_max_body_size 200M;
}

С най-добри пожелания, Ел Ноки


person Knospi    schedule 06.09.2011    source източник


Отговори (1)


Имам абсолютно същия проблем с приложение за ruby ​​rack (sinatra), unicorn и nginx. Чувствам се като идиот, защото съм наел немски специализиран сървър с абсолютно същите спецификации като вашите за тази цел. Моето заобиколно решение се състои в поставянето на всички тези неща на S3/Cloudfront за момента, тъй като не можах да намеря корена на проблема. Не е забавно, но се надяваме, че ще помогне при натоварване междувременно.

person soulman    schedule 07.09.2011
comment
Проблемът се реши от само себе си през нощта. Това може да звучи любопитно, но не направих нищо. Дори не рестартиране на nginx. Прибрах се вкъщи и на следващия ден nginx доставяше всички файлове със светкавична скорост. Благодаря за публикацията! - person Knospi; 08.09.2011
comment
Ъ-ъ, да, също получавах много ниски скорости с nginx, след като настроих раздел за изтегляне с sendfile. Но когато проверих след няколко часа, работеше чудесно. Всъщност скоростите надхвърляха връзката ми. - person Sheharyar; 29.03.2014