При имитации одного из выше описанных ботов контент как-то странно
отдаётся: сначала каждую секунду приходит 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