|Keep It Simple, Stupid|
Modperl2 + mpm_event + seemingly forgotten global varsby spellila (Initiate)
|on Mar 28, 2017 at 19:07 UTC||Need Help??|
spellila has asked for the wisdom of the Perl Monks concerning the following question:
Greeting everyone, i get stucked using modperl2 on apache 2.4 (mpm_event) and ubuntu (upgraded on daily base form ubuntu-repo). I try to keep some filehandles and datastructures simply on a "our" variable. This works fine until i generate some network load for this server (1000 persistent connections each wants to get the same stuff). Than it looks like the "our" is forgeting its value. This is happening much faster if you are using more threads per child. Here a simple example:
Using this package as responsehandler in your apache2.conf and the `ab`-tool targeting this handler, you will see at your error.log that the our var is getting setted. After some time you will see that this variable is reseted on and on.
Using 5000 MaxRequestWorkers splitted by threads 250 on each child i could see that only 18 threads was able to hold this variable without any interaction after it was initialized (over days!).
Even if i used only 3 threads per child and 1500 possible servers, the error was reproduced after the 264 thread was spawned. 263 threads was keeping their states over days.
The server have enough ressources over and no limits being reached.
I want to achive that all my threads holding the states of their our vars.
After some sleepless days i decided to ask the perlmonk community. Hopefully somebody can help further.