Инструкция KeepAlive позволяет использовать постоянные соединения. В противном случае клиенту приходится создавать новое соединение с сервером для каждой ссылки, по которой переходит пользователь.

Поскольку HTTP работает поверх TCP, каждое соединение требует дополнительного времени на создание, что замедляет получение каждого файла. Постоянные соединения позволяют серверу некоторое время ожидать получения от клиента дополнительных запросов, прежде чем закрыть соединение. Клиенту, таким образом, не требуются новые соединения для обращения к другим документам. Инструкция KeepAliveTimeout определяет интервал ожидания (в секундах) новых запросов от клиента для уже открытого соединения. В файле httpd.conf Solaris режим KeepAlive включен, a KeepAliveTimeout присвоено значение, равное 15 секундам.

MaxKeepAliveRequests определяет максимально допустимое число запросов, полученных через постоянное соединение. В Solaris этот параметр имеет значение 100, то есть значение по умолчанию для Apache. Присвоение MaxKeepAliveRequests значения 0 разрешает обрабатывать неограниченное число запросов. Значение 100 - разумное для данного параметра: очень немногие пользователи запрашивают 100 документов, а значит, такая настройка постоянных соединений охватывает все нормальные ситуации. Если же клиент создал более 100 запросов, не исключено, что причиной тому стали проблемы в системе клиента, и в таком случае создание нового соединения, скорее всего, будет удачной идеей.

Инструкция Timeout определяет интервал ожидания сервером завершения передачи (в секундах). Значение должно быть достаточно большим, чтобы клиенты успевали получать самые большие файлы сайта через низкопроизводительное модемное соединение. Однако слишком большое значение приведет к тому, что сервер будет поддерживать соединения клиентов, которые уже отключились от сети. В файле httpd.conf Solaris Timeout имеет весьма распространенное значение - 5 минут (300 секунд). BrowserMatch - параметр настройки иного рода: он снижает производительность в пользу совместимости. Настройки Solaris содержат следующий набор инструкций BrowserMatch:


BrowserMatch "Mozilla/2" nokeepalive
BrowserHatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

Операторы BrowserMatch используются для представления информации способами, понятными различным веб-броузерам. Например, определенный броузер умеет работать только с протоколом HTTP 1.0, но не HTTP 1.1. В таком случае значение downg rade-1.0 в строке инструкции BrowserMatch позволяет гарантировать, что сервер, работая с этим броузером, использует только HTTP 1.0.

В приведенных строках из файла httpd.conf системы Solaris постоянные соединения отключены для двух из броузеров. Одному из броузеров предлагается для использования только протокол HTTP 1.0, а для четырех из них принудительно передаются ответы в формате, совместимом с HTTP 1.0.

Не играйте с инструкциями BrowserMatch. Приведенные настройки являются стандартными для дистрибутива Apache и позволяют справляться с ограничениями различных броузеров. Это параметры настройки, но используются они преимущественно разработчиками Apache для адаптации под ограничения устаревших броузеров.

Инструкция HostnameLookups определяет, должен ли демон httpd регистрировать в журнале обращений имена узлов наряду с адресами IP. Преимущество регистрации имен узлов в том, что журнал получается более удобным для чтения. Недостаток - дополнительная нагрузка на httpd, связанная с поиском имен в DNS. Значение off, стандартное для настройки Solaris, повышает производительность сервера. Инструкция HostnameLookups влияет на состав информации, заносимой в журнал, однако оказывает существенное влияние на производительность системы - почему мы и рассматриваем ее в разделе, посвященном параметрам настройки производительности, а не параметрам настройки журнала.