> So, if I understand correctly, the database handle is getting cached
> more than you think it should, that's right?

I was unsure where the caching was occurring.

> I think MaxRequestsPerChild doesn't actually cut off a connection that
> is kept alive (with KeepAlive). Ctrl-N in a browser could validly reuse
> the same connection if it is still around (if you wait too long, a
> keep-alive connection will be closed).

This would make sense.  It would seem that 'KeepAlive' keeps the 'request'
open until
it times out.

> So even though you've set up MaxRequestsPerChild to 1, each Apache child
> process could be serving multiple requests over a single TCP/IP
> connection. The answer to "where the caching is occuring" would be in
> Apache::DBI, which opens a single DB connection per Apache child
> process.
>
>  - stop using Apache::DBI.
>
>  - have your scripts explicitly set the date format they want every time
> (do not rely on "whatever format is already there").

Actually these are both not options : )  We really are not allowing
developers to modify global database variables.  This is the first no-no.
Because it is not a strict policy somebody obviously abused it : )

> With both solutions, you'll be able to leave the keep-alive enabled and
> use a saner MaxRequestsPerChild (like the default setting). Having
> "MaxRequestsPerChild 1" is harsh on resources!
Understandably the configuration is not optimized but it is only in a
development environment to allow for simultaneous development of modules,
components and visual elements.  Our production environment varies
significantly in it's configuration directives.

Thanks for the information though.  It clarified what I was originally
thinking.

Thanks,

Reply via email to