On Tue, 26 Jun 2001, Oleg V. Konstantinov wrote:
> >> > > > Да это понятно, но его нужно ставить за акселлератор.
> >> > >
> >> > > Почему? Мне кажется не обязательно.
> >> >
> >> > Допустим, мод_перл генерит 20К контента за 0.2 секунды,
> >> > медленному клиенту (3К/s) он будет отдавать их 6 секунд.
> >>
> >> Не будет. 20К контента осядет в буфервх ОС.
>
> IS> Если буфера хватит. Во FreeBSD он по умолчанию 16К. Можно, конечно,
> IS> увеличить до 2М, по-моему.
> Подскажите какой man читать, чтобы этот буфер увеличить. И вобще
Какой man, не знаю, но ставиться это с помощью
sysctl net.inet.tcp.sendspace (размер буфера по умолчанию).
А через sysctl kern.ipc.maxsockbuf можно указать
до какого размера можно увеличивать с помощью setsockopt.
> имеет ли это смысл, если стоит задача сэкономить память? Не получится
> ли так, что я сокращу число апачей на десяток, а каждый процесс будет
> отжирать памяти больше?
Сложно сказать. Во всяком случае, если mod_perl занимает 30M
из которых 1М шариться, то 256K(буфер) * 30 (число ответов за 6
секунд) = 7.6M в ядре, на мой взгляд, меньшее зло.
> IS> А кроме того, в Апаче применяется свой lingering_close(),
> IS> который делает shutdown() на запись, а потом ждёт в select()е
> IS> 2 секунды и, ежели за это время ничего не пришло, то делает
> IS> close(). Так что на медленном клиенте 2 секунды обеспеченны.
> IS> Причем эти две секунды не видно ни в логах, ни в /server-status.
> IS> А это в нашем случае 10 запросов.
> IS> Но и это можно запретить через -DNO_LINGCLOSE.
> А подводные каомни не всплывут?
А вот не знаю. Никогда не пробовал.
Игорь Сысоев
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =