(mysql.info) system
Info Catalog
(mysql.info) optimizing-the-server
(mysql.info) optimizing-the-server
(mysql.info) server-parameters
7.5.1 System Factors and Startup Parameter Tuning
-------------------------------------------------
We start with system-level factors, because some of these decisions
must be made very early to achieve large performance gains. In other
cases, a quick look at this section may suffice. However, it is always
nice to have a sense of how much can be gained by changing factors that
apply at this level.
The operating system to use is very important. To get the best use of
multiple-CPU machines, you should use Solaris (because its threads
implementation works well) or Linux (because the 2.4 and later kernels
have good SMP support). Note that older Linux kernels have a 2GB
filesize limit by default. If you have such a kernel and a need for
files larger than 2GB, you should get the Large File Support (LFS)
patch for the ext2 filesystem. Other filesystems such as ReiserFS and
XFS do not have this 2GB limitation.
Before using MySQL in production, we advise you to test it on your
intended platform.
Other tips:
* If you have enough RAM, you could remove all swap devices. Some
operating systems use a swap device in some contexts even if you
have free memory.
* Avoid external locking. Since MySQL 4.0, the default has been for
external locking to be disabled on all systems. The
-external-locking and -skip-external-locking options explicitly
enable and disable external locking.
Note that disabling external locking does not affect MySQL's
functionality as long as you run only one server. Just remember to
take down the server (or lock and flush the relevant tables)
before you run `myisamchk'. On some systems it is mandatory to
disable external locking because it does not work, anyway.
The only case in which you cannot disable external locking is when
you run multiple MySQL _servers_ (not clients) on the same data,
or if you run `myisamchk' to check (not repair) a table without
telling the server to flush and lock the tables first. Note that
using multiple MySQL servers to access the same data concurrently
is generally _not_ recommended, except when using MySQL Cluster.
The `LOCK TABLES' and `UNLOCK TABLES' statements use internal
locking, so you can use them even if external locking is disabled.
Info Catalog
(mysql.info) optimizing-the-server
(mysql.info) optimizing-the-server
(mysql.info) server-parameters
automatically generated byinfo2html