04.04.2013 Views

MySQL OLTP (Transactional) - Hammerora - SourceForge

MySQL OLTP (Transactional) - Hammerora - SourceForge

MySQL OLTP (Transactional) - Hammerora - SourceForge

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Figure 45 Memory Performance Plateau<br />

Pre-testing is your opportunity to modify you configuration, tune your database and operating system and<br />

maximise the database throughput. Your aim should be ensure a consistent performance profile over a<br />

period of time such as that shown in Figure 46.<br />

Figure 46 Steady Transaction State<br />

If the observed transaction rate has numerous peaks and troughs or the consistent throughput is lower than<br />

expected you should examine the system configuration to diagnose the reasons why performance is limited.<br />

To do this you can use <strong>MySQL</strong> provided or third party tools. You should also not neglect the relevant log<br />

files such as the Linux operating system logs and the <strong>MySQL</strong> error log. Once you have completed your pretesting<br />

and are satisfied with your configuration you should move to planning and preparing to run a series<br />

of measured tests. You do not have to restart the database or rebuild the schema to conduct your<br />

performance tests. In fact having run a series of pre-tests and to have data resident in the buffer cache is<br />

the ideal starting point for conducting measured tests.<br />

Planning and Preparation<br />

Planning and Preparation is one of the most crucial stages of successful testing but is often overlooked.<br />

Firstly you should fully document the configuration of your entire load testing environment including details<br />

such as hardware, operating system versions and settings and <strong>MySQL</strong> version and my.cnf parameters. Once<br />

you have fully documented your configuration you should ensure that the configuration is not changed for<br />

an entire series of measured tests. This takes discipline but is an essential component of conducting<br />

accurate and measured tests. If you wish to change the configuration between tests to improve<br />

performance you should do so as part of the pre-test phase and not for the measured tests. If you change<br />

any aspect of the configuration you should conduct another full series of measured tests.<br />

To plan your measured tests you should have a defined aim for what you wish to achieve and plan the tests<br />

accordingly. Often a test project can fail for having an unclear definition for the aim of what is desired to be<br />

achieved. Typically this aim will take the form of determining the performance characteristics of a server (or<br />

server) however this can have many forms, for example generating a performance profile, determining the

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!