tombo2-progress’s diary

できるだけ毎日1時間を切り取ってここに晒す。誤字脱字気にしない。日本語が崩壊するのも気にしない。最終的にまとめて本ブログに書く

webサービスのworkloadを模倣できるMySQLベンチマーク探し

web service workloadに近いベンチマークがないか調査

アクティブ(サーポート?が終了してない)なTPCベンチマークの説明を見たけど、web系のワークロードはない、、、 http://www.tpc.org/information/benchmarks.asp

TPC-Appは論文もあって良さそうだけど、TPCではobsoleteだった。

DBT2

MySQLの公式にDBT2があるけど、これは良くなさそう https://dev.mysql.com/downloads/benchmarks.html

そもそもよく書かれていない上に10年くらい前でもうだめそうなので、使わない。 http://nippondanji.blogspot.com/2009/03/dbt-2.html

sysbench (oltp)

https://github.com/akopytov/sysbench sysbench-tpccではなく、sysbenchに標準では言っているOLTPワークロードを見てみる

シナリオがいくつかあるからここらへんを調整して実験すれば良いかもしれない https://github.com/akopytov/sysbench/tree/master/src/lua

READMEにはないけど、luaファイルを直接指定して実行している。 1.x系からコマンド体型け割ったのか、よく見つかるものは古いことが多い。

sysbenchの導入に良さそう。 http://gihyo.jp/dev/serial/01/mysql-road-construction-news/0026

mysqlslap

https://dev.mysql.com/doc/refman/5.6/ja/mysqlslap.html

mysqlslap --delimiter=";"
  --create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)"
  --query="SELECT * FROM a" --concurrency=50 --iterations=200

こんな感じで簡単にクエリを指定できそうだけど、その割合は指定できないっぽい。

linkbench

https://github.com/facebookarchive/linkbench

facebookが出していたMySQLベンチマークツール facebookarchive担っていることからもわかるように、5年クラいメンテナンスされてない

終了

ただただggるだけで1時間立ってしまったのでここまで。
sysbench-mysql, sysbench oltpを使ってベンチマークをすることに決定