ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

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

Странные вещи происходят с nginx/0.6.29 пр и включенном gzip сжатии.


  • To: <nginx-ru@xxxxxxxxx>
  • Subject: Странные вещи происходят с nginx/0.6.29 пр и включенном gzip сжатии.
  • From: <subscribe@xxxxxxxxxxxx>
  • Date: Sun, 26 Oct 2008 16:05:01 +0300
  • Content-language: ru
  • Thread-index: Ack3a3IYXKAm9ajQQae6wrgv0UPKtQ==

Приветствую.

Стоит nginx 0.6.29. Раздает статику и проксирует остальное на apache.
Все работает отлично, пока не включаю сжатие средствами nginx.

Когда сжатие включено, то на клиенте наблюдаю следующую картину: в ответ на
запрос приходит 8 файлов (сжаты, все ок), затем от сервера молчание в
течении примерно полутора минут, затем приходят остальные файлы (сжаты, все
ок).

Игрался с одновременной отдачей одного и того же контента апачем и nginx-ом,
включал выключал сжатие в nginx/apache и т.п.

Вывод один: если включаю сжатие в nginx, приходит ровно 8 файлов
(html|js|css) нормально, после чего следует затык примерно на полторы
минуты. Если страница содержит менее 8 text/plain файлов, то загружается
соотв. нормально.
Апач все отдает в любом (сжатом/несжатом) виде нормально, ngxin без сжатия,
тоже отдает все нормально.

Со стороны сервера логи и т.п. пока не смотрел т.к. пока что смутно понимаю,
что и где посмотреть можно в такой ситуации.
Решил спросить у сообщества, может это какой legacy баг, или вообще не баг?
Мониторил top, думал может там, что висит эти 1.5 минуты, но нет - тишь да
благодать.

Попутно буду рад подсказкам где и что можно посмотреть на сервере, дабы
понять корни проблемы.

P.S.
Sendfile, tcp_nopush, tcp_nodelay отключать пробовал.

./nginx -V
nginx version: nginx/0.6.29
built by gcc 4.1.2 20070626 (Red Hat 4.1.2-14)
configure arguments: --with-http_stub_status_module
--with-pcre=/tmp/pcre-4.4


Конфиг:

pid /usr/local/nginx/logs/nginx.pid;
error_log /usr/local/nginx/logs/error_log warn;

events {
    worker_connections  1024;
}


http {
        error_page 500 502 503 504 =503 /error/50x.html;
        error_page 404 /error/404.html;
        error_page 403 /error/403.html;

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

        log_format download '$remote_addr - $remote_user [$time_local] '
                        '"$request" $status $bytes_sent '
                        '"$http_referer" "$http_user_agent" '
                        '"$http_range" "$sent_http_content_range"';

        client_max_body_size 10m;

        gzip off;
        gzip_disable "MSIE [1-6]\.";
        gzip_min_length  1100;
        gzip_types      text/plain;
        #gzip_proxied off;
        gzip_proxied any;

        sendfile         on;
        tcp_nopush       on;
        tcp_nodelay      on;

        limit_zone download $binary_remote_addr 10m;

        server {
                listen 213.1xx.xxx.xxx;
                server_name name.ru;

                access_log /usr/local/nginx/logs/access_log main;

                location / {
                        proxy_pass http://127.0.0.1:9101/index.php/;
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
                        proxy_connect_timeout 10;
                        proxy_next_upstream error off;
                }

                location ~ /\.svn {
                        deny  all;
                }

                location ~ ^/(images|static|error)/ {
                        root /var/web/server/public/;
                }
 
               location /download {
                    root /var/web/server/public/;
                    expires 1h;
                    add_header Cache-Control private;
                    limit_conn download 1;
                    internal;
                }

                location /nginx-status {
                        stub_status on;
                        access_log   off;
                        allow 127.0.0.1;
                        deny all;
                }
        }
}

Заранее спасибо.


 




Copyright © Lexa Software, 1996-2009.