< Day Day Up > |
Before leaving the chapter on InnoDB tuning tips, this section takes some time to explore some additional operational-specific settings that you can use to regulate server responsiveness. Thread PerformanceMySQL uses the innodb_thread_concurrency setting to gate the number of simultaneous active operating system threads supporting the InnoDB engine. With a default value of 8, it usually can be left alone. However, if you are running a database server with a combined total of greater than eight CPUs and disk drives, try boosting this value to match the sum of these critical components. By raising the setting, you are instructing MySQL to request additional threads. However, these supplementary threads aren't fully utilized if there aren't sufficient CPUs and disk drives. Improving ConcurrencyYou completed a holistic review of concurrency, locking, and transactions during Chapter 9. Recall that newer MySQL versions are more adept at detecting and correcting deadlocks. However, if you are running an older version, MySQL relies on the innodb_lock_wait_timeout setting, specified in seconds, to help it determine when a deadlock is under way. If you believe that your older MySQL server is particularly susceptible to these kinds of problems, try lowering the value to cause deadlocks to be discovered and fixed sooner, or, even better: Take the time to upgrade to a newer version. Improving Large-Scale OperationsChapter 15, "Improving Import and Export Operations," cites numerous ways to help coax added performance from these costly processes. For now, there are a few key things to remember:
Speeding Up ShutdownYou should note one final topic regarding InnoDB-specific performance. When enabled (the default), the innodb_fast_shutdown parameter instructs InnoDB to bypass the potentially expensive tasks of purging internal memory structures and then merging insert buffers. This does not affect data integrity; InnoDB still inscribes any pertinent buffer pool pages onto disk. |
< Day Day Up > |