Осторожно: limit_rate & proxy_pass

Leonid Novikov lenni at eastweb.ru
Thu Feb 10 17:38:22 MSK 2005


Приветствую, Игорь & all.

Во время экспериментов с бэкэндом под апачем наступил на грабли.

Конфигурация (0.1.18)
-----------------------------------------
http {
    limit_rate 1M;
    server {
 ...
        location / {
            proxy_pass  http://x.x.x.x/;
        }
 ...
 # тут другие location
    }
}
------------------------------------------
приводит к весьма негативным последствиям.
Браузер не может докачать до конца ни одной страницы.

В логах nginx это выглядит так:
2005/02/10 16:10:34 [info] 11034#0: *330 client closed
prematurely connection while reading upstream ...

через 3 минуты

2005/02/10 16:13:34 [info] 11034#0: *330 client x.x.x.x
closed keepalive connection

После комментирования в конфиге директивы limit_rate
(я правда долго искал в чем проблема)
и посыла сигнала HUP, nginx начинает кушать весь процессор.
Помогает только TERM.

Собственно , я нашел в листе упоминание Игоря о непредсказуемости
поведения в данной конфигурации, но лично мне жаль, что не работает.

Я задумывал реализовать такую схему:
редко востребуемые архивные файлы раздаются с машины с менее
дорогостоящей дисковой подсистемой, а актуальные - с локальной:

location / {
 root /bla-bla/;
}
location /2004/ {
 proxy_pass http://x.x.x.x/;
}

Полосу при этом все равно хотелось бы ограничивать, мало ли...


-- 
Leonid Novikov
lenni at eastweb.ru





More information about the nginx-ru mailing list