Re[2]: limit_rate странно себя ведёт.
Igor Sysoev
is at rambler-co.ru
Sat Jan 20 20:18:40 MSK 2007
On Sat, 20 Jan 2007, Igor Sysoev wrote:
> On Sat, 20 Jan 2007, Михаил Монашёв wrote:
>
>>>> При имитации одного из выше описанных ботов контент как-то странно
>>>> отдаётся: сначала каждую секунду приходит 100 байт, потом пауза на
>>>> секунду-две, потом ещё несколько пачек по 100 байт и потом всё -
>>>> ничего не отдаётся, или же наступает огромная пауза и потом опять пару
>>>> пачек приходит. Т.е. происходят какие-то непонятные огромные таймауты.
>> Соединение провисело и минут через 5-10 выдало
>> Connection closed by foreign host.
>> на середине странички.
>>
>>>> Так и должно быть?
>>
>> IS> Нет, если ответ от бэкенда поступает равномерно или отдаётся статика,
>> то
>> IS> должно уходить пакетами по 100 байт раз в секунду.
>>
>> Отдаётся динамика. Ответ от бэкенда поступает быстро. Для сравнения
>> сделай тот же запрос, но без "User-Agent: Jakarta".
>
> Есть предположение, что виноват "tcp_nopush on". Можно его выключить,
> на 6-ке он уже не так нужен.
Скорее всего, дело не столько в tcp_nopush, сколько в sendfile.
Можно попробовать прилагаемый патч и такую конфигурацию:
if (...) {
limit_rate 100;
sendfile off;
}
Игорь Сысоев
http://sysoev.ru
-------------- next part --------------
Index: src/http/ngx_http_core_module.c
===================================================================
--- src/http/ngx_http_core_module.c (revision 387)
+++ src/http/ngx_http_core_module.c (working copy)
@@ -275,7 +275,8 @@
NULL },
{ ngx_string("sendfile"),
- NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
+ |NGX_CONF_TAKE1,
ngx_conf_set_flag_slot,
NGX_HTTP_LOC_CONF_OFFSET,
offsetof(ngx_http_core_loc_conf_t, sendfile),
More information about the nginx-ru
mailing list