Book Image

Instant InnoDB

By : Matt Reid
Book Image

Instant InnoDB

By: Matt Reid

Overview of this book

<p>InnoDB, the default storage engine for MySQL, is one of the most robust and commonly used in the world today. It can, however, be initially daunting to learn how to start implementing its features, and it can pose unique problems to the beginner user. This guide is written to address these problems.</p> <p>"Instant InnoDB" addresses everything you need to know for the installation, configuration, load testing, analysis, and long term support of an InnoDB based database environment. If you've ever wanted to learn more about InnoDB but didn't want to sit down with a formidably large or dry read, then the Instant InnoDB&nbsp; is your ideal companion.</p> <p>"Instant InnoDB" guides you expertly through the initial setup and system requirements for getting up and running with a simple environment that can be used for the development and testing of the InnoDB engine.<br /><br />After an in-depth look at basic and advanced configuration settings we delve into the internals of InnoDB that allow it to handle Multi-Version Concurrency Control and ACID transaction compliance. We will then dig deeper into advanced topics, such as memory buffer tuning methods and transaction log file handling. We'll then cover typical approaches and solutions to monitoring the database and reporting on operational states.</p> <p>By the end of the Instant InnoDB , we will have covered the common approaches to troubleshooting and error handling, as well as providing you with solutions to the most common architectural, administrative, and engineering related situations that arise when working with the InnoDB database engine.</p>
Table of Contents (14 chapters)

Open source MySQL load testing applications


Several industry standard tools exist for load testing MySQL, and by extension any tables you are using the InnoDB engine on. We will focus on the open source options mentioned in the following sections:

Log replay

Before discussing specific applications it is important to understand that if we have an existing production server, that is executing and recording traffic via the binary logs, then we have available data for use in load testing without having to rely on other applications to generate sample test data. This is called log replay and the method is simple:

  1. Use recorded transactions from MySQL binary logs.

  2. Convert the binlogs to SQL files using the mysqlbinlog command.

  3. Execute the SQL files against the database server(s) in question.

This directly executes the same queries that were executed on the production server. It is of vital importance to note that if you are getting logs from production, you should not execute them again on the production...