> 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,