そのまま使える! sysbenchを使ったMySQLのベンチマーク

MySQLのベンチマーク

インフラエンジニアやDBA、またはある程度技術力のある開発のエンジニアでMySQLを利用してサービスを提供している場合、何かしらベンチマークをおこなわなければならないシーンが発生するのではないでしょうか。

  • MySQLのメジャーバージョンを上げる前
  • インスタンスやサーバの移行前
  • システムのパフォーマンスが上がらない時
  • パラメータ設定を変更する前
  • とにかく性能にこだわりたい時

色々事情はあると思いますが、ベンチマークをおこなう時はなるべくシンプルに性能が比較できて、簡単なものがいいですよね。

MySQLのベンチマークツール

MySQLのベンチマークをおこなうときに利用できるツールはたくさんあります。比較的よく知られているものだと、下記のようなものになります。

  • mysqlslap
  • jdbcRunner
  • workbench
  • sysbench
  • tpcc-mysql

それぞれベンチマークの結果については特徴があるのですが、一番古くから利用されていて簡単なものがsysbenchです。sysbenchはそれほど細かい条件や環境に合わせた設定はできませんが、シンプルにパフォーマンスを比較するのであれば一番やりやすいでしょう。

その他で比較的設定が簡単なものであればtpcc-mysqlがおすすめです。クエリを指定したいのであればjdbcRunnerもいいでしょう。ベンチマークをおこなう条件によってもまちまちで、どれが一番いいとは一概には言えませんが、ここでは一番簡単に実施できて、利用している方も多いsysbenchの使い方をお伝えします。

sysbenchのインストール

  • ダウンロードとインストール
  • MySQLの準備
  • ベンチマーク用データのロードと使い方

sysbenchを利用したベンチマーク方法

単純に実施するのであれば、下記を実施してexecution timeの比較のみでいいでしょう。スレッド数やリクエスト数は色々変えながら実施してください。あまり一瞬でベンチマークが終わってしまうと比較にならないので、ある程度時間がかかるくらいまで増やしていくのがいいでしょう。

insertやupdateのみのベンチマークを見たい場合は下記のように条件をかえてみましょう。

ここでは最低限の使い方だけを説明してきましたが、helpを見れば細かい変更などもできるので、色々試してみながら実施していくのがいいでしょう。

MySQLの基本を学ぶならこちらがおすすめ

スポンサーリンク
レクタングル大
レクタングル大

シェアする

  • このエントリーをはてなブックマークに追加

フォローする