ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


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


  ПРОГРАММЫ 



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














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

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

Re: [apache-talk] Re: [apache-talk] прошу помощ и в performance tuning



On Mon, 17 Jan 2005, Igor Sysoev wrote:

> > Тогда получается еще хуже: все запросы вынуждены выстраиваться в
> > одну очередь, и даже те запросы, которые могут быть обслужены без
>
> Ну в общем-то, большинство лёгких серверов работают именно так - у них
> один процесс на всё про всё.

 Да, и в случае активной работы с диском медаль _такой_ лёгкости
 показывает обратную сторону. Я в своем 0W-httpd давно хочу
 реализовать описанное разделение на рабочий и дисковый
 процессы, потому что проблема постоянно всплывает то на одном
 проекте, то на другом, но переделки требуются достаточно
 серьёзные, и всё никак не дойдут руки.

> Например, во FreeBSD sendfile() передаёт по одной странице в
> сетевой уровень.

 Кстати, во freebsd дополнительно к размеру буфера нужно ещё
 выставлять LowWatermark (я устанавливаю его чуть меньше, чем
 размер буфера, чтобы буфер не оставался пустым, например:
 120/128). Тогда sendfile читает с диска большими блоками за
 раз.

> Как работает sendfile() в Линуксе - не знаю, не смотрел.

 сейчас посмотрел, что происходит на 2.4.24 при буфере 128k, не
 очень радужно, и всё из-за того, что в линуксе нет
 LowWatermark.

 Первый раз sendfile действительно посылает большой кусок,
 хотя почему-то и не 128kb, а достаточно случайный кусок
 108-109kb. А вот при последующих вызовах - всего 37-38Kb.

 В том случае, если не устанавливать SO_SNDBUF (системный буфер
 по умолчанию - 16k), разброс в размере отсылаемых данных при
 повторных вызовах sendfile от 5760 до 15620.

 Тестировался реальный сервер с реальными удаленными клиентами,
 а не через бенчмарки с localhost или соседней машины.



 




Copyright © Lexa Software, 1996-2009.