You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Tomáš Bažant <tb...@suse.cz> on 2009/11/03 09:20:58 UTC

apache 2 reloads needed?

Greetings from cloudy Prague!


I am developing web application with mod_perl/apache/mysql. I am using
several own perl modules (*.pm), and after changing the contents of a
particular module, i usually have to reload/restart apache for these
changes to take effect. it is quite annoying. Is there any way how to
bypass this process and make apache aware of the changes automatically?

thanks


-- 
Tomáš Bažant <tb...@suse.cz>
Novell, SUSE Linux s.r.o.


Re: apache 2 reloads needed?

Posted by Michiel Beijen <mi...@otrs.com>.
On Tue, 2009-11-03 at 10:27 +0100, André Warnier wrote:

> Greetings from sunny (right now anyway) Southern Germany.

Greetings from the cloudy Netherlands... BTW my colleagues from Straubing (Bavaria, Germany) were complaining that it's raining cats and dogs today there.

> I see that you mention mysql.  This probably means DBI.
> I think you need to be a bit careful with DBI and Apache::Reload.  I 
> seem to recall that there are some particularities there
> (Probably in relation to permanent cached database connections).

The project I work on uses mod_perl, Apache::Reload, and Apache::DBI.
AFAIK Apache::Reload does not influence the database connection at all,
it just would monitor the modules on disk and if they change, they are
reloaded in memory. We use Apache::DBI to cache the database connection,
which basically means that the Apache child does not need to set up a
new connection any time it tries to open one. This has a performance
benefit.

> In any case, I believe Apache::Reload is OK for a development server, 
> but on a production server this is probably not very efficient.
> There is no free lunch : if you ask the server to monitor certain things 
> and do something in case of change, then that has a cost.

We use it (and even recommend it) on a production server! We have
measured a performance degradation of about 7% when running with
Apache::Reload. In most setups, this would not be an issue and it is
better than having to restart apache.... but of course in a high-load
environment it will be something to consider.
--
Michiel

Re: apache 2 reloads needed?

Posted by Jonathan Vanasco <jv...@2xlp.com>.
On Nov 3, 2009, at 4:27 AM, André Warnier wrote:

> I see that you mention mysql.  This probably means DBI.
> I think you need to be a bit careful with DBI and Apache::Reload.  I  
> seem to recall that there are some particularities there
> (Probably in relation to permanent cached database connections).
>
> In any case, I believe Apache::Reload is OK for a development  
> server, but on a production server this is probably not very  
> efficient.
> There is no free lunch : if you ask the server to monitor certain  
> things and do something in case of change, then that has a cost.

re: databases-- you should be fine as long as you use Apache::DBI.  if  
you're not, then I don't recall.

Apache::Reload and Apache::DBI for mod_perl handler applications work  
perfect during development.  I've never made a registry app, so can't  
comment on that.

Apache::Reload shouldn't be used on production; however its  
indispensable during development.


Re: apache 2 reloads needed?

Posted by André Warnier <aw...@ice-sa.com>.
Jie Gao wrote:
> * Tom??? Ba??ant <tb...@suse.cz> wrote:
> 
>> Greetings from cloudy Prague!
>>
>>
>> I am developing web application with mod_perl/apache/mysql. I am using
>> several own perl modules (*.pm), and after changing the contents of a
>> particular module, i usually have to reload/restart apache for these
>> changes to take effect. it is quite annoying. Is there any way how to
>> bypass this process and make apache aware of the changes automatically?
>  
> Install Apache::Reload from CPAN.
> 
Greetings from sunny (right now anyway) Southern Germany.

I see that you mention mysql.  This probably means DBI.
I think you need to be a bit careful with DBI and Apache::Reload.  I 
seem to recall that there are some particularities there
(Probably in relation to permanent cached database connections).

In any case, I believe Apache::Reload is OK for a development server, 
but on a production server this is probably not very efficient.
There is no free lunch : if you ask the server to monitor certain things 
and do something in case of change, then that has a cost.

Re: apache 2 reloads needed?

Posted by Jie Gao <J....@isu.usyd.edu.au>.
* Tom??? Ba??ant <tb...@suse.cz> wrote:

> Greetings from cloudy Prague!
> 
> 
> I am developing web application with mod_perl/apache/mysql. I am using
> several own perl modules (*.pm), and after changing the contents of a
> particular module, i usually have to reload/restart apache for these
> changes to take effect. it is quite annoying. Is there any way how to
> bypass this process and make apache aware of the changes automatically?
 
Install Apache::Reload from CPAN.

Regards,



Jie