Как уменьшить число apache httpd процессов и снизить затраты памяти. |
[исправить] |
- В FreeBSD использование "accept filter" (нет реакции от accept() пока не
поступят первые данные запроса):
- ядро собираем с "options ACCEPT_FILTER_HTTP" или "options ACCEPT_FILTER_DATA"
или kldload accf_http/accf_data
или accf_data_load="YES" / accf_http_load="YES в /boot/loader.conf
- в конфигурацию Apache добавляем "AcceptFilter on"
- Значительное уменьшение величины keepalive, или вообще его запрещение (KeepAlive Off);
- Использовать mod_accell или squid в режиме акселератора для кэширования.
|
|
|
|
Раздел: Корень / Администратору / Сетевые сервисы / WWW, Apache httpd / Оптимизация и тюнинг Apache |
1, c0r3 (?), 09:52, 19/01/2004 [ответить]
| +/– |
не подскажут ли уважаемые люди как быть в случае опции -> "- в конфигурацию Apache добавляем "AcceptFilter on" " если стоит apache2 ? он такой незнает. | |
|
2, c0r3 (?), 15:37, 19/01/2004 [^] [^^] [^^^] [ответить]
| +/– |
проблема решилась перечитыванием n-ый раз /usr/local/etc/apache2/httpd.conf | |
|
3, Michael Shigorin (?), 16:56, 01/09/2004 [ответить]
| +/– |
А можно для тупых, чем это KeepAlive Off поможет означенной теме? Уменьшить -- по определению не поможет (ровно наоборот), с памятью -- поставить KA 100...1000 в зависимости от текущести болтающихся модулей, а не отрывать вовсе. | |
|
4, Maxim Chirkov (ok), 09:50, 28/09/2004 [^] [^^] [^^^] [ответить]
| +/– |
При включенном KeepAlive апач будет ждать запроса в рамках текущего соедниения не разрывая его, пока не истечет таймаут. Т.е. большое число процессов будет простаивать. Если процесс тяжелый (например используется mod_perl или mod_php), то такой простой процессов слишком дорогое удовольствие, прежде всего с точки зрения памяти, также лишняя нагрузка на планировщик задач и родительский процесс apach'а.
KeepAlive имеет смысл когда на страницах смого мелких картинок, но на нагруженном сервере лучше картинки отдавать не апачем, а например mathopt'ом (который поддерживает KeepAlive и может мультиплексировать запросы через kqueue (FreeBSD) или epoll (Linux)). | |
|
|