>> I'm in the middle of porting an application from IIS/Windows to Apache 2.2 module. >> In the application, there is a lot of global data. The data contains both: >> >> - application configuration that is read on startup and on receiving a >> certain HTTP request to reload >> - per-request data that is shared between certain requests with dependencies. >> >> Other important information: >> - The config data is very large, many MB >> - The data structures are built with a lot of pointers to structs to pointers ... >> - We are using the worker MPM. >>
> I believe this is sort of an ugly hack, but if you're not expecting too much traffic to your > application, you may limit the number of child processes of the worker MPM to just 1. That way, you > can safely use global data in your module, since all threads of that process will share the same > memory space. This is, in fact, what we are doing. We are using the Worker MPM forced to 1 process with 128 threads. We may change the number of threads as needed.
