> There is at least one reason, which is that persistent connections cause
> the server to hold open connection slots even the connection isn't
actively
> being used at the moment. 

But isn't this really just a failure of the connection pooling mechanism? If
you have a connection pooling program on a separate server in a 3 tier
architecture then it should be configurable to tune timeouts, connection
reuse or disconnects. No need to blame the database if the connection
multiplexer isn't doing a good job.



-----Original Message-----
From: Paul DuBois [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, August 14, 2002 11:26 AM
To: Tod Harter; Thomas Seifert; [EMAIL PROTECTED]
Subject: Re: Persisten Connections


At 11:14 -0400 8/14/02, Tod Harter wrote:
>On Wednesday 14 August 2002 09:54 am, Thomas Seifert wrote:
>
>I disagree entirely....
>
>Persistent connections have little or nothing to do with increasing load!
>
>Given that you mention you are using PHP I'll assume you have mod_php
running
>in Apache. Each Apache child process in this configuration will maintain
ONE
>open database handle, so 100k pageviews per day I would expect you might
max
>at like 30k in one hour, or around 10/second, so you might top out at
roughly
>100 Apache child processes at any one time, thus 100 database connections.
>
>Each DB connection is not a huge overhead, but creating and destroying 10
>database handles PER SECOND is a large overhead!!! Remember, every time
mysql
>creates a connection it has to do internal queries on the grant tables. I
>don't know exactly what the overhead of that is going to be, but ANYTHING
>that creates 10 queries per second is putting some strain on your database
>server!
>
>One of the main goals of using Apache modules for scripting was to allow
>persistent database connections. There is really NO reason to give up that
>advantage. Remember, MySQL is multi-threaded, with one thread per
connection,
>so the resources for a database connection are on the order of under 100k
of
>memory per connection.

There is at least one reason, which is that persistent connections cause
the server to hold open connection slots even the connection isn't actively
being used at the moment.  This can cause the MySQL server to run out of
connection slots and result in connections being refused.  Using
non-persistent
connections under such circumstances can be beneficial because on average,
the server need hold fewer connections open.

This has been found to solve connection-refused issues in a number of
cases on this list.

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to