先日の初投稿で、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です。
ちょっと今日は時間がないので、これまで。次はチューニングやボトルネックを可視化できるフリーなツールを紹介したいと思います。
どうでしょうか? ちょっとは見やすくなっているでしょうか?
ということで、これから、データベースの検証ネタを書いていこうと思いますが、まずは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です。
ちょっと今日は時間がないので、これまで。次はチューニングやボトルネックを可視化できるフリーなツールを紹介したいと思います。
hammeroraの注意点は:
返信削除recursive callもカウントされてしまう。
だからoptimizer_dynamic_sampling=0で使う。それを知らないと「桁違いに大きい結果」が出る。
そしてAnalyzeを忘れると同じような結果になります。
swingbenchはTPC-Cはものすごく簡単に始められたけど、DSSと呼ばれるTPC-Hに相当するテストは簡単じゃなかった。
そしてhammeroraはTcl/Tkのソースを直にいじれる。SwingbenchはSTABにPL/SQLで作りこむのが面倒だった。
例えば、僕がお客さんのRAC構築をして、性能試験資料を作る必要があったとしたら、SBを選ぶ。なぜならば、きれいな資料を作れるから。
でも、調査のために使うのだったらHOを選ぶ。
>この際、まとめなおしてこの場で共有できたらいいなと思っています。
返信削除楽しみにしてます!
去年、STIさんで開かれた新久保さんのセミナーに参加させて頂いたものです。
http://d.hatena.ne.jp/yohei-a/20090716/1247755420
トラブルシュートの話しをしましたね。かれこれ1年以上たってますね。。。yohei-aさんのご期待にそえるようドキュメント整理もガンバリます。ホットなネタがあればコメント頂けると助かります。
返信削除