Re: Embedded perl и shared memory

Alexandr Gomoliako zzz на zzz.org.ua
Чт Авг 18 18:42:13 UTC 2011


On 8/18/11, Vladimir Stackov <amigo at lnetw.ru> wrote:
> Приветствую,
> есть ли у нативного модуля perl nginx какие-либо недокументированные
> методы или хаки, позволяющие объявлять глобальные разделяемые
> переменные, к которым можно получить при обработке каждого запроса из
> любого воркера?

Нет и не может быть. Для этого нужно было бы переписать огромный кусок
самого перла. Переменные в перле имеют свойство апгрейдиться,
даунгрейдиться, подменять указатели на данные и т.д., а это требует
освобождения/выделения памяти.

> Понятно, то есть использование IPC::Shareable, например, будет вполне
> нормальным шагом в данной ситуации?

Нет, IPC::Shareable добавит вам огромный оверхед из-за использования
tie и не будет работать много где, т.к. мало кто обрабатывает magic в
xs, ну и локи еще.

Посмотрите в сторону отдельного процесса и keepalive к бэкэнду.


Подробная информация о списке рассылки nginx-ru