Персональный
сайт
Игоря
Сысоева



sysoev.ru
mod_accel
mod_deflate
программирование
windows
freebsd
apache
pppd
unix
web

для писем

Немного об Apache 1.3.24

 

24.03.2002

В Apache 1.3.24 частично решена проблема взаимодействия mod_proxy и бэкенда – появилась директива ProxyIOBufferSize, позволяющая задать размер буфера для получения ответа от бэкенда. Раньше этот размер был равен 8K. Кроме того, если от бэкенда получен весь ответ, то соединение с ним закрывается, что позволяет избежать 2-х секундной задержки. Тем не менее, проблема решена не полностью – если размер ответа бэкенда будет больше суммы размера заданного буфера и ядерных TCP-буферов, то бэкенд будет занят на время, необходимое для передачи части ответа, превышающей суммарный размер буферов.

Необходимо заметить, что описанный выше буфер выделяется из одного из пулов Apache, тогда как практика показывает, что механизм пулов Apache плохо приспособлен для выделения блоков большого размера. Поэтому, если Вы зададите размер буфера 512K, не исключено, что со временем размер каждого дочернего процесса увеличиться на 1-2M.

С Apache 1.3.24 связано ещё одно изменение – эта версия позволяет устанавливать заголовок "Server". Сделано это было прежде всего для модуля mod_proxy. Дело в том, что в Apache 1.3.23 mod_proxy подвергся существенным изменениям - в частности, заголовок ответа стал выдаваться с помощью функции ap_send_http_header(), тогда как раньше он выдавался c помощью функций ap_rvputs()/ap_rputs(). Однако вместе с этим изменением Apache 1.3.23 стал заменять заголовок "Server", полученный от проксируемых серверов, на свой собственный. Apache 1.3.24 устанавливает свой заголовок только в том случае, если он ещё не установлен. Поэтому заголовок "Server" можно устанавливать, например, с помощью функции mod_perl $r->headers_out("Server"). Однако, по-видимому, такая возможность останется только у Apache 1.3.24 – уже в следующей версии заголовок не будет заменяться только для проксируемых запросов.

В связи с возможностью устанавливать заголовок "Server", в mod_accel версии 1.0.16 появилась директива AccelPassServer.

(C) Igor Sysoev
http://sysoev.ru