2010/08/31

まず初めに

先日の初投稿で、Disk周りの情報が分かりづらいとご指摘を受けたので、ちょっとチャートにしてみました。



どうでしょうか? ちょっとは見やすくなっているでしょうか?

ということで、これから、データベースの検証ネタを書いていこうと思いますが、まずはOracleを中心に書いていこうと思います。

いろいろベンチマークをとって、H/WとS/Wの特性やチューニングポイントなどが明確になれば良いと思っています。

しかし、思い返せば、ここ数年、さんざんOracleのチューニングを考え、Oracleの内部動作を解き明かすことを仕事にしてきたのですが、きちんとドキュメント化していないことに気づきました。一部社外でデータベースチューニングのセミナーや雑誌に記事を提供してきたものもあるので、この際、まとめなおしてこの場で共有できたらいいなと思っています。

では、検証に使う部品を確認してみましょう。

今回は、(基本的には)フリーで使用できるもので検証していきます。日頃からよく使っているツールも含めてちょっと紹介します。

Oracleのベンチマークに使えるものとして有名なのは、以下の2つです。

1. Swingbench
    javaで書かれたGUIに優れたベンチマークソフトです。TPC-CとTPC-Hをベースにしたベンチマークが可能です。
    また、RACなどクラスタ環境でのベンチマークも簡単に実行できてかなり便利です。
    ただ、処理自体がかなりチューニングされていることもあり、バッドパターンの検証などには不向きです。
    (あまり、そんな検証しないですかね。。。)
    ライセンスの明記はないですが、フリー(non サポート)であることが明記されています。

2. Hammerora
    Tcl/Tkで書かれているベンチマークソフトです。これもGUIはちゃんとしています。ただ、ベンチマークスコアが
    Swingbenchと比較すると桁違いに大きくでます。これは、内部的にTPM(or TPS)の算出をどのように
    実装しているかが両者で異なるからですが、2つのベンチマークソフトを使う場合は結構困ります。

    また、Hammeroraでは、ベンチマークの最大の敵?とも言えるロックのコンテンション(TX enqueue)が
    多発します。なのでチューニングしがいのあるベンチマークソフトと言えるかも知れません。

    こちらのライセンスはGPLです。

ちょっと今日は時間がないので、これまで。次はチューニングやボトルネックを可視化できるフリーなツールを紹介したいと思います。

3 コメント:

Ichiro Obata さんのコメント...

hammeroraの注意点は:
recursive callもカウントされてしまう。
だからoptimizer_dynamic_sampling=0で使う。それを知らないと「桁違いに大きい結果」が出る。
そしてAnalyzeを忘れると同じような結果になります。
swingbenchはTPC-Cはものすごく簡単に始められたけど、DSSと呼ばれるTPC-Hに相当するテストは簡単じゃなかった。
そしてhammeroraはTcl/Tkのソースを直にいじれる。SwingbenchはSTABにPL/SQLで作りこむのが面倒だった。

例えば、僕がお客さんのRAC構築をして、性能試験資料を作る必要があったとしたら、SBを選ぶ。なぜならば、きれいな資料を作れるから。
でも、調査のために使うのだったらHOを選ぶ。

yohei-a さんのコメント...

>この際、まとめなおしてこの場で共有できたらいいなと思っています。

楽しみにしてます!
去年、STIさんで開かれた新久保さんのセミナーに参加させて頂いたものです。
http://d.hatena.ne.jp/yohei-a/20090716/1247755420

koji shinkubo さんのコメント...

トラブルシュートの話しをしましたね。かれこれ1年以上たってますね。。。yohei-aさんのご期待にそえるようドキュメント整理もガンバリます。ホットなネタがあればコメント頂けると助かります。

コメントを投稿