I'll disagree with your disagreement.

Many web servers maintain persistent connections. This leads to eventually exceeding max_connections, even if connections are rare. Once he hits 41, he will be issuing 404s, or other bad stuff.

Also, having 1000 http threads hanging around is a waste when you rarely have 10 active at once. Or do your threads somehow take a long time without taking much in resources (CPU, I/O, MySQL, etc)? If each of 1000 threads took only 1% of the CPU, the CPU would be overloaded, even on an 8-core box.

On 3/27/12 10:38 PM, Reindl Harald wrote:

Am 27.03.2012 23:24, schrieb Rick James:
MaxClients          1000
could overwhelm  max_connections = 41 .  Strongly recommend you decrease
MaxClients to less than max_connections
(not the other way around).
totally wrong!

not every http-connection implies a myql-connection
a website typically contains a lot of static files
like images, javascripts, stylesheets and you bring
down your httpd if MaxClients is set too low and
you are unable to serve waiting clients

additionally if KeepAlive is used there are open
httpd-connections with NO db-connection after
serving a dynamic page using one out of MaxClients
for a timewindow based on KeepAliveTimeout

MaxClients on httpd should never be lower than "max_connections"
"max_connections" is primary a question of RAM and typical load

mysqltuner.pl:
[--] Total buffers: 2.4G global + 3.2M per thread (200 max threads)
[OK] Maximum possible memory usage: 3.0G (37% of installed RAM)
_____________________

however - 1000 is much too high if we are speak
about a preforked server on most hardware - keep
in mind that a worker process with mod_php consumes
some MB of memory in a typical environment

but this is all not mysql related


--
Rick James - MySQL Geek


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql

Reply via email to