Greg Stein wrote:
> ...
> storage on the server, and/or DBM database. The problem here is that any
> ACL changes would need to reach all the Apache child processes. IPC is a
> bitch, so dropping the stuff on the disk is best, where the processes can
> see what the "current" state is.
Once I developed an IPC module, based on thin patches that I did in
mpm_common.c. Currently, this module can be used to stop / restart /
graceful the server (from a module!), of course after checking that the
requester has the right privileges for that (sorry, I failed to develop
a "run" option too ;-)
I'll be happy to contribute this module (and mainly the small patch in
mpm_common.c) to the source tree.
After including it, special versions of apr_table and apr_array can be
written, that will support multi-process/thread; When SHM can't be
used, my module can be used to tell the different processes to refresh
their copy of the table/array.
This way can minimize the overhead and time response needed to read
values from the table/array (in comparison to an external file or DBM).
Of course, the overhead of writes (=modifications) will still be high,
but I assume that the ratio between reads and writes is usually
thousands or even more. So it's not an issue.
Please let me know if it's interesting anybody.
--
Eli Marmor
marmor@netmask.it
CTO, Founder
Netmask (El-Mar) Internet Technologies Ltd.
__________________________________________________________
Tel.: +972-9-766-1020 8 Yad-Harutzim St.
Fax.: +972-9-766-1314 P.O.B. 7004
Mobile: +972-50-23-7338 Kfar-Saba 44641, Israel
|