>>>>> On Wed, 12 May 1999 12:01:51 +0300 (IDT), "Stanislav Malyshev a.k.a Frodo" <frodo@xxxxxxxxxxxx> said:
VBW> изменения, после чего байт-код живет внутри той копии HTTPD, которая его
VBW> выполнила, и
VBW> при следующем запуске overhead отсутствует. Зато растет расход памяти.
SMakaF> Кстати, вопрос - "той копии" это значит, что у каждого подпроцесса свой
SMakaF> Registry?
Не понял вопроса. Попробую ответить. Там для каждой копии httpd
создается свой namespace и все данные погружаются в этот namespace, и
живут в каждой копии httpd отдельно. Так что штатными средствами фигня с
тем, что http - stateless, не обходится. Скрипт тоже компилируется в
каждый httpd отдельно, и если он _подгружает_ какие-то модули, то и
они. Ключевое слово "подгружает". Если грузить модуль при запуске
apache, то копия будет одна. И данных тоже. Но как я подозреваю, могут
появиться нежелательные побочные эффекты. Вообще использование mod_perl
требует аккуратности, а такое - особенно.
VBW> Кроме того, если скрипт работает с базой данных, коннект к
VBW> БД кешируется
VBW> и экономится время на соединение при следующем запуске. Правда
VBW> соединений к БД будет m*n где m число копий httpd а n - число разных
VBW> коннектов к БД которые бывают
Опять же, загрузкой модуля при старте apache это вроде бы можно
вылечить. Но недаром Apache::DBI этого не делает...
SMakaF> Т.е. создать, скажем, query, и воспользоваться его результатами на
SMakaF> следующем запросе (постраничный просмотр) нельзя? А как можно?
Как обычно с http. Поскольку он stateless, и никакой гарантии, что ты
попадешь к тому же демону, нет, увы. Хотя в одном и том же переменные
сохраняются, что позволяет, например, сделать авторизацию по принципу
"авторизационный скрипт открывает коннект, а выдающий данные использует
хендл этого коннекта". Насколько я понимаю, Витус Вагнер этим нагло
пользуется еще и в варианте с SSI, поскольку в процессе выдачи одного
документа все SSI-директивы выполняются в одном httpd.
--
Artem Chuprina E-mail: ran@xxxxxxxxx
Network Administrator FIDO: 2:5020/371.32
PIRIT Corp. Phone: +7(095) 115-7101
=============================================================================
= 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" 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.