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


 
english
обо мне
 
sysoev.ru
 
nginx
 
mod_accel
mod_realip
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) Игорь Сысоев
http://sysoev.ru