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: Re[2]: [apache-rus] PHP dynamicaly



In <199808271330.UAA797394@Sky.inp.nsk.su> Eugene B. Byrganov (E.B.Byrganov@inp.nsk.su) wrote:
>> > Но неясен смысл: ЗАЧЕМ ?
>> Объясню ситуацию.
>> Есть несколько виртуальных серверов на одном хосте. Общий траффик высокий.
>> Но только одному из них нужен PHP. Его траффик составляет всего 8%.
>> Начальство считает, что это плачевно скажется на производительности.
>>
>> Кто-нибудь может это популярно, но авторитетно опровергнуть так, чтобы
>> я это показал технически образованному начальству или предложить другое
>> решение. PHP нужен для интенсивной настройки страниц под конкретных посетителей.

EB> Насчет авторитетно не уверен ;-), но популярно примерно так ═(сильно зависет
EB> от ОС) так: все так называемые DSO lib-ы на самом деле далеко не dynamic,
EB> а обыкнавенный static share lib - загружаются на момент старта программы,
EB> это можно хорошо увидеть strace-ом, и только если программа сама
EB> ручками грузит DSO в нужный момент - то это и есть dynamic. По всей
EB> видимости mod_so так и далает. Вывод один линковать надо с libphp.a
EB> сам mod_php.so.

Гы :-) Для того, чтобы сделать как-то иначе придется руками httpd собирать :-)
libphp линкуется не с httpd (еще чего не хватало), а с libphp.so, конечно :-))

EB> Но стоит ли игра свечь? Сам libphp.a не большой, у меня
EB> старая версия весит только 300к - и в памяти занимает не на много больше.
EB> Код который не работает - мертвый код, и работу не замедляет, а вот
EB> накладные расходы на загрузку DSO это есть. Как раз при больших загрузках,
EB> это и будет замедлять. И так если DSO занимает меньше 10% Real Mem, то
EB> для решения проблены не хватки RAM это не существено.

И вообще ни для чего несущественно. Ибо DSO в Apache не для того придуманы.
Все DSO Apache в любом случае загружет на старте -- они там еще с дуба не
рухнули и идеи подгружать модуль когда пришел к нему запрос у них нет (как
несложно догадаться почти всегда это будет не выигрыш, а проигрыш :-))...
Использование DSO может иметь смысл только для создания binary distribution
или при играх с настройкой сервера (тогда можно собрать все модули сразу, а
"вставить" только необходимые, а при необходимости включать остальные)...
Впрочем последняя проблема решается через AddModule и без всяких DSO...

P.S. "Как раз при больших загрузках, это и будет замедлять" -- не будет. Apache
загружает DSO только при старте httpd или перечитывании конфигурации. LoadModule
в .htaccess не предусмотрен (еще чего не хватало)...








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

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