Open Source Web Development Tutorials - Dev Shed
使える!MySQLのベンチマークツール
(2009/01/19公開)
MySQLベンチマークツール、およびユーティリティー
さて、4回連載の2回目だ。本連載では、MySQLベンチマーキングのコンセプトおよびストラテジー、ベンチマークツールおよびユーティリティー、もっとも一般的なクエリー最適化、最適スキーマの設計、サーバーチューニングのテクニックを網羅している。今回は、よく使われるベンチマーキングとモニタリング用のツールおよびユーティリティーのいくつかをご紹介する。これらを実際に使用する方法を習得していただこう。
今回の内容に入る前に、同じくMySQLセクションのDevShedで公開されている第1回:「MySQLのベンチマーク」をおさらいしよう。ベンチマーキングの基本コンセプト、ストラテジー、パフォーマンスを左右する3要因をご説明した。もしまだなら必ずお読みいただきたい。
さまざまなベンチマーキングおよびモニタリング機能を誇るユーティリティーやアプリケーションは無数に存在する。その多くは営利目的の製品だ。だが本稿ではフリーウエアだけを使う。たいていオープンソースのツールおよびスクリプトで、目的に十分かなう。フリーウエアの中でも特にここで試用するたぐいのものは、読者固有のニーズや設定、データベース要件に合わせて高度にカスタマイズ可能である。
本稿で使うベンチマークユーティリティーの名前をいくつかご覧いただければ、今回のあらましをご想像いただけるだろう。まず、MySQLソースディストリビューションに付属したMySQL Benchmark Suite(「sql-bench」)は外せない。また、よく知られた負荷テスターSuper SmackやSysBench(モジュール式、クロスプラットホーム型、マルチスレッド)、Jeremy Zawodny氏によるPerlスクリプトmybench、MySQL Slap(「mysqlslap」)だ。
機能的動作およびパフォーマンスを監視するためのツールがこれに加わる。MySQLだけでなく、あらゆるサーバーを対象にしたツールだ。筆頭は、オンライントランザクションを測定するApache JMeterそれにTPC-Cだ。重要な点だが、さまざまなツールでベンチマーキングを行えば行うほど、使用するサーバーの現実世界におけるパフォーマンスを把握し「想像」できるようになる。
そのため、非常に単純なベンチマークユーティリティーもとり上げた。中には今では古くなっているものもあるかもしれない。すでに挙げたツールの多くはリリースされてから3、4年以上もたっているのだ。本稿に登場するほかのツールもなかなか役立つが抜群というわけではない。それでも、創造性を発揮し、各ツールとユーティリティーを最大限に生かしていただきたい。例えば、さまざまなオプションを試したり、複数回実行したりしてほしい。
そう、ベンチマーキングは以前と同じままなのだ。データベースの核心をなすもの、その本質は、さほど変わっていない。パフォーマンスや信頼性/安定性、拡張性といった課題は当時も今も同じだ。ベンチマーキングは多大の辛抱と適度の好奇心を必要とする創造的なタスクだ。詰まるところ、それは調整を加えるたびに同じテストを複数回行って調整の効果を確認することにほかならない。
Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.








