Chapter 5: Database Tuning

Now that we’ve gone over server hardware components and database models in the previous chapters, the next logical step is to talk about how to properly tune a database server.

Later in the book, I’ll explain how doing too many computations at query time can create massive CPU bottlenecks and how to alleviate this. Therefore, a well oiled database server is commonly more IO than compute intensive. If the server is CPU bound, there are likely problems with the queries being run and should be promptly addressed.

When talking about IO, there are 3 main concerns: available memory, hard drive speed, and network limits. Network limits are generally external; therefore, tuning the server involves configuring the proper balance of hard drive and memory allocation. Faster hard drives can absorb some of the work, while servers with slower drives are more dependant on available memory.