znuny / Znuny

Znuny/Znuny LTS is a fork of the ((OTRS)) Community Edition, one of the most flexible web-based ticketing systems used for Customer Service, Help Desk, IT Service Management.
https://www.znuny.org
GNU General Public License v3.0
355 stars 85 forks source link

Consider using "PerlOptions +Parent" in Apache config #44

Closed bschmalhofer closed 3 years ago

bschmalhofer commented 3 years ago

My gut feeling is that it is always a good idea to set "PerlOptions +Parent" in the Apache configs. This avoids problems when multiple Perl application are running on the same webserver. See https://perl.apache.org/docs/2.0/user/config/config.html#C_Parent_. See also https://github.com/RotherOSS/otobo/issues/310

hanneshal commented 3 years ago

Thx @bschmalhofer for the proposal. I see this more as a part of the documentation / wiki, but when this change has no direct impact on existing environments I see no issue to add this. 👍

@reneeb do you have experience with +parent vs +clone or the issue in general?

reneeb commented 3 years ago

@hanneshal No, most applications that still use mod_perl run on their own server/vm, so there is no fear of clashes. I had a quick read on several forum and blog posts and they all said, that the option is helpful and it works when several VirtualHost's use Perl. So it's a +1 from me.

reneeb commented 3 years ago

As

and it works when several VirtualHost's use Perl

could be read that it doesn't work when only one VirtualHost uses Perl: This option shouldn't have impact on existing environments.

hanneshal commented 3 years ago

After reading the docs for a while now I +1 this. We try to put it in the next release

bschmalhofer commented 3 years ago

I have second thoughts about adding PerlOption +Parent in the vanilla Apache config file. According to http://mail-archives.apache.org/mod_mbox/perl-modperl/201412.mbox/%3c1725234089.20141215165418@am-soft.de%3e the option is only effective for virtual hosts. Adding it to the default host might confuse people who might assume that they can easily run Znuny and OTOBO side by side. And when I say people, I mean myself.

rkaldung commented 3 years ago

@bschmalhofer Since this option starts always a new Perl Interpreter which clearly affects the memory consumption we decided not to add this option to the default configuration. Whoever needs this an runs multiple instances should be able to deal with this on his own.

bschmalhofer commented 3 years ago

@rkaldung I aggree that PerlOption +Parent is confusing when used outside a VirtualHost declaration. But what do you mean that a new Perl interpreter is always started up? It is still a single interpreter per Webserver, or per VirtualHost whan appicable.

rkaldung commented 3 years ago

@bschmalhofer We tested it and saw an increasing memory consumption in our test scenario. Due to the fact that this is no typical use case and we not wanted to invest more time in it we voted against this option. We did not check really how many interpreters were started but the memory usage pointed to it.

bschmalhofer commented 3 years ago

@rkaldung Thanks for the info, that's interesting. I think we will remove the setting for OTOBO as well, and recommend to the users to run only a single application per Apache webserver.