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]

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



On Fri, 29 Jun 2001, Khimenko Victor wrote:

> >   Так как же выгоднее (с точки зрения использования системных
> >   ресурсов) компилить апач с PHP?
> >
> С этой точки зрения лучше линковать статически. Но выигрыш обычно в
> килобайт-два (причем расшренных - так что он, как правило, неуловим
> без особо тщательно выполненных измерений:-), так что обычно лучше
> слинковать динамически - для удобства. У меня вообще:
> -- cut --
> $ apache -l
> Compiled-in modules:
>   http_core.c
>   mod_so.c
> suexec: enabled; valid wrapper /usr/sbin/suexec
> $ ls -al ls -al /usr/lib/php/extensions
> total 418
> drwxr-xr-x    2 root     root          664 May 24 10:24 .
> drwxr-xr-x    5 root     root          320 May 24 10:24 ..
> -rw-r--r--    1 root     root        36140 Jul 30  2000
> apache-php_session.so
> -rw-r--r--    1 root     root        19528 Jul 30  2000 php_calendar.so
> -rw-r--r--    1 root     root        13272 Jul 30  2000 php_db_db1.so
> -rw-r--r--    1 root     root        13336 Jul 30  2000 php_db_db2.so
> -rw-r--r--    1 root     root        16472 Jul 30  2000 php_db_file.so
> -rw-r--r--    1 root     root        13880 Jul 30  2000 php_db_gdbm.so
> -rw-r--r--    1 root     root        18484 Jul 30  2000 php_dba_db1.so
> -rw-r--r--    1 root     root        20820 Jul 30  2000 php_dba_db2.so
> -rw-r--r--    1 root     root        21780 Jul 30  2000 php_dbase.so
> -rw-r--r--    1 root     root         9972 Jul 30  2000 php_filepro.so
> -rw-r--r--    1 root     root        24996 Jul 30  2000 php_ftp.so
> -rw-r--r--    1 root     root        54432 Jul 30  2000 php_gd.so
> -rw-r--r--    1 root     root         8056 Jul 30  2000 php_gettext.so
> -rw-r--r--    1 root     root        32152 Jul 30  2000 php_mysql.so
> -rw-r--r--    1 root     root        15000 Jul 30  2000 php_posix.so
> -rw-r--r--    1 root     root        33228 Jul 30  2000 php_session.so
> -rw-r--r--    1 root     root         8740 Jul 30  2000 php_sysvsem.so
> -rw-r--r--    1 root     root        11080 Jul 30  2000 php_sysvshm.so
> -rw-r--r--    1 root     root         9040 Jul 30  2000 php_yp.so
> -- cut --
> То есть в модули вынесено все, что только возможно. При этом реально
> возрастает только скорость загрузки Apache'е (впрочем не смертельно - даже
> на Pentium200MMX он стартует быстрее, чем за секунду - а так ли уж часто
> это происходит?)...

Апачевские модули лучше линковать статически.

Запускаем ./configure --enable-module=most --enable-shared=max && make.
Получаем 32 модуля в виде .so.
Запускаем size src/modules/*/*.so и убеждаемся, что ни у одного модуля,
кроме libproxy, сегмент данных не превышает 1К. Это значит, мы потеряли
по 3К в каждом модуле на сегменте данных. Допустим, мы подгружаем в Апач
20 модулей из 32. Это 20*3K=60К на Апач. Допустим, у нас работают 100
апачей. Это 6 потерянных мегобайт. Если стандартный Апач имеет около
500К-1М private memory, это 6-12 потерянных Апачей.

Что касается 
> $ ls -al ls -al /usr/lib/php/extensions
> total 418 
то число 418 меня просто пугает. Даже если в них сегменты данных
большие (в чем я не уверен), все равно в среднем теряется 2К на модуль.
Если используется 10 модулей, то на 100 Апачей мы теряем 2M.

Умножайте на свои цифры и считайте потери.

Игорь Сысоев

=============================================================================
=               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.