Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

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

[apache-talk] Re: [apache-talk] Почему так?



On Fri, 29 Jun 2001, Khimenko Victor wrote:

> > > Апачевские модули лучше линковать статически.
> >
> > Некоторое время назад тут это обсуждалось, вроде все согласились, что
> > единственно применение динамических модулей -- бинарная дистрибуция
> > модуля. Во всех остальных случаях особого выйграша от них заметить не
> > удается, только недостатки.
> 
> Не только. Они позволяют тебе в любой момент подключить или отключить
> определенный модуль (а для этого могут быть разные причины: когда в
> системе после upgrade glibc у нас перестала работать Berkeley DB и
> обрушивала все программы с ее использованием в кору мы выкинули
> mod_rewrite, временно переделали те места, где он пользовался и в таком
> виде Apache отлично прожил месяц, пока я собирался его Upgrade'ить) и
> вообще "собирать конфигурацию по вкусу" без перекомпиляции.

Я это делаю в течение минуты, если не меньше. См. ниже.
 
> P.S. Собственно если вы все равно собираете "особую конфигурацию под
> конкретный сервер", то лучше все линковать статически, разумеется.
> Но перед тем, как вы вообще зейметесь этой деятельностью подумайте:
> а оно вам надо ? Действительно - статическая линковка выгоднее, если у
> вас ОДИН сервер. Всегда. Но часто ли так бывает ? Если вы можете
> использовать версию Apache из дистрибутива OS или если у вас серверов
> (не обязательно машин, но верверов!) более одного (а хотя бы и два :-),
> то вы вступаете в ту самую область "бинарной дистрибуции", где как раз
> динамические модули и бывают полезны...

У меня больше 20 серверов и Апача я пересобираю очень просто

make <имя машины>
sudo make test
sudo make install

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

> P.S. BTW насчет потерь: все ваши рассуждения про потерянные килобайты
> сегмента data верны ТОЛЬКО в случае МОДИФИКАЦИИ этих данных после fork'а.

Совершенно верно.

> А что такого все эти модули модифицируют в своих данных ??? Там в основном
> текстовые строки (и структура Apache'овского модуля, но она после fork'а
> не модифицируется уже).

Насчет php не знаю, но за Апачевские модули я спокоен.
В их крошечных сегментах данных среди прочего живёт GOT, в которой
живут адреса внешних функций, в том числе функций Апачи, всякие ap_*.
А поскольку линковка lazy, то они они правильными становяться не
сразу. Некоторые функции вызываются первый раз уже после форка.
Достаточно одной на модуль.

Игорь Сысоев

=============================================================================
=               Apache-Talk@xxxxxxxxxxxxx mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.