Matt Clark wrote:
Apache::DBI overall works better to what I require, even if
it is not a
pool per sey. Now if pgpool supported variable rate pooling like
Apache does with it's children, it might help to even things
out. That
and you'd still get the spike if you have to start the webserver and
database server at or around the same time.
I still don't quite get it though - you shouldn't be getting more than one
child per second being launched by Apache, so that's only one PG postmaster
per second, which is really a trivial load. That is unless you have
'StartServers' set high, in which case the 'obvious' answer is to lower it.
Are you launching multiple DB connections per Apache process as well?
I have start servers set to a fairly high limit. However this would
make little different overall if I restarted the webservers to load in
new modules during a high load time. When I am averaging 145
concurrent connections before a restart, I can expect that many request
to hit the server once Apache begins to respond.
As a result, it will literally cause a spike on both machines as new
connections are initiated at a high rate. In my case I don't always
have the luxury of waiting till 0300 just to test a change.
Again, not necessarily looking for a PostgreSQL solution. I am looking
for a method that would allow the database or the OS itself to protect
the system it's hosted on. If both the database and the apache server
were on the same machine this type of scenario would be unstable to say
the least.
Martin Foster
Creator/Designer Ethereal Realms
martin@xxxxxxxxxxxxxxxxxxx