A Look at Mysql 5.0 Performance Benchmarks

A Look at Mysql 5.0 Performance Benchmarks

A Look at MySQL 5.0 Performance Benchmarks ® A MySQL Technical White Paper May 2006 Copyright © 2006, MySQL AB Table of Contents 1 Introduction...........................................................................................................................4 2 Why is MySQL So Fast?.......................................................................................................4 2.1 The MySQL Pluggable Storage Engine Architecture ........................................................4 2.2 Features that Contribute to Fast MySQL Performance.....................................................6 3 Factors to Consider in Evaluating Database Performance...............................................6 4 Several MySQL 5.0 Benchmarks .........................................................................................8 4.1 TM1 Benchmark ...............................................................................................................8 4.2 DBT2 Benchmark .............................................................................................................9 4.3 SUN Sysbench OLTP Benchmark ..................................................................................10 4.4 c’t Magazine Database Performance Contest.................................................................12 4.5 Scaleable Insert Benchmark...........................................................................................12 5 Previous MySQL Benchmarks...........................................................................................13 5.1 eWeek Benchmark .........................................................................................................13 5.2 SPECjAppServer Benchmarks .......................................................................................15 6 Conclusion ..........................................................................................................................16 7 Appendix A..........................................................................................................................16 7.1 Data Model .....................................................................................................................16 7.2 Queries ...........................................................................................................................17 7.3 Workload.........................................................................................................................19 7.4 MySQL/InnoDB Configuration Parameters .....................................................................19 8 Appendix B..........................................................................................................................19 8.1 Hardware Configuration..................................................................................................20 8.2 MySQL/InnoDB Configuration.........................................................................................20 9 Appendix C..........................................................................................................................20 9.1 InnoDB Configuration Parameters ..................................................................................21 10 Appendix D.......................................................................................................................21 10.1 Data Model ..................................................................................................................21 10.2 Hardware Configuration...............................................................................................22 Copyright © 2006, MySQL AB Page 2 of 22 10.3 MySQL/InnoDB Configuration......................................................................................22 Copyright © 2006, MySQL AB Page 3 of 22 1 Introduction There is little doubt that two of the top requirements for any serious database management system are availability and performance. Not coincidentally, two of the three MySQL AB software priorities are reliability and performance (with the third being ease-of-use). MySQL makes it a mission to produce high-performance database software that more than meets the needs of today’s most demanding enterprise-class applications. The reputation that MySQL has earned as a fast- performing database is one that has come from both independent performance tests as well as daily serving as the backend database for high-volume applications at large customer installations. MySQL continues its tradition of being a high-performance RDBMS with version 5.0, which was released in October, 2005. The adoption rate of version 5.0 has been extremely high, with polls showing that many have already moved to version 5.0 for production systems. One of the reasons cited for making the move was to take advantage of a number of the performance enhancements and new features made available in version 5.0. This paper takes a look at how MySQL provides the exceptional performance that it is known for and showcases a number of internal and external benchmarks that provide proof that MySQL continues to be one of the fastest databases on the market today. 2 Why is MySQL So Fast? As has already been mentioned, one of MySQL’s hallmarks is exceptionally fast performance. MySQL’s speed can be seen across all types of database operations – simple and complex queries, write-intensive operations, etc. – as well as in various different platform deployments and high-traffic concurrent user situations. Why is MySQL so fast? There are a number of elements that contribute to the excellent performance found in MySQL, including the pluggable storage engine architecture and high-performance features found in server, many of which are unique only to MySQL. 2.1 The MySQL Pluggable Storage Engine Architecture Many large enterprises are choosing MySQL because it offers a new and different paradigm of database management. One key differentiator between MySQL and other database platforms – whether they are proprietary or open source – is the pluggable storage engine architecture of MySQL. What exactly is the MySQL pluggable storage engine architecture and what benefits does it offer to today’s modern enterprises? The MySQL pluggable storage engine architecture allows a database professional to select a specialized storage engine for a particular application need while being completely shielded from the need to manage any specific application coding requirements. Graphically depicted, the MySQL pluggable storage engine architecture looks like Figure 1: Copyright © 2006, MySQL AB Page 4 of 22 Figure 1 - The MySQL Pluggable Storage Architecture The pluggable storage engine architecture provides a standard set of management and support services that are common among all underlying storage engines. The storage engines themselves are the components of the database server that actually perform actions on the underlying data that is maintained at the physical server level. This efficient and modular architecture provides large performance benefits for those wishing to specifically target a particular application need – such as data warehousing, transaction processing, high availability situations, etc. – while enjoying the advantage of utilizing a set of interfaces and services that are independent of any one storage engine. From a technical perspective some of the key differentiations in storage engines include: • Concurrency – some applications have more granular lock requirements (such as row-level locks) than others. Choosing the right locking strategy can reduce overhead and therefore help with overall performance. This area also includes support for capabilities like multi- version concurrency control or “snapshot” read. • Transaction Support – not every application needs transactions, and for those that don’t, the overhead of such support is avoided. But for those that do, there are very well defined requirements in a number of MySQL’s storage engines like ACID compliance and more. • Physical Storage – this involves everything from the overall page size for tables and indexes as well as the format used for storing data to physical disk. Different storage strategies definitely have an impact on the overall performance of both read and write operations. • Index Support – different application scenarios tend to benefit from different index strategies, and so each storage engine generally has its own indexing methods, although some indexing mechanisms (like B-tree indexes) are common to nearly all engines. • Memory Caches – MySQL offers a couple of storage engines whose data only resides in RAM, which results in very fast performance. Others use different variations of memory caches for transactions, transaction logs, tables, and indexes. Copyright © 2006, MySQL AB Page 5 of 22 • Performance Aids – includes things like multiple I/O threads for parallel operations, thread concurrency, database checkpointing, bulk insert handling, and more. Each set of the pluggable storage engine infrastructure components are designed to offer a selective set of benefits for a particular application. Conversely, avoiding a set of component features helps steer clear of unnecessary overhead. So it stands to reason that understanding a particular application’s set of requirements and selecting the proper MySQL storage engine can have a dramatic impact on overall system efficiency and performance. And a DBA can put multiple storage engines in play for the same application, which equates to the DBA having

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    22 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us