Greetings,

    I've been running a public MySQL server for a couple of years that now
supports several thousand users.   I used to run this on a lowly PII-350 and
it ran quite fine with CPU loads usually hanging well under 0.20.  The only
hitch was the time necessary to connect seemed to jump up to a few seconds
when the number of databases exceeded 2000 or so.  It appeared to not be
linear, performance was "good" below 2000 databases and the connection time
went to a couple of seconds (as measured by a trivial php page that makes a
connection).

    I suspected that the connection speed was an ext2 filesystem bottleneck
when it had to deal with the large number of files in the mysql data
directory.

    I modernised a few months ago to an athlon 1.3GHz with the same ram and
a faster hard drive.  I also upgraded to Linux 7.3 using an ext3 filesystem.
I thought that ext3 might handle a large number of files better, and I also
thought that the faster box and newer kernel would allow me to have more
databases on one server without suffering the same connection speed penalty.
However, I seem to have hit this same wall at roughly the same number of DBs
(closer to 3000 this time)

    To summarize, it appears to me that there is a reasonable upper bound on
the number of databases without suffering connection performance, probably
limited by the filesystem.

    My questions are  1)  Are these observations expected?   (I was a bit
disappointed that the new box didn't perform better...the cpu load is
usually idle)   2)  Is there a way to mitigate this at the linux admin
level?   (kernel parameters?   ext3 parameters?   change to reiserfs?   3)
Finally, are there MySQL parameters that can be tuned to enhance performance
for a large number of databases (note, not concurrent users...that is a
small number)


Regards,
Gary "SuperID" Huntress
=======================================================
FreeSQL.org offering free database hosting to developers
Visit http://www.freesql.org


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