BLOG

Comments are closed.

Sep30

Unbreakable Enterprise Kernelのチューニングは非同期I/Oか?

いろいろ、ご意見を頂いたので、一度、Oracleの非同期I/Oの実装はどうだったのか再確認が必要だと思いちょっと調べてみます。 手当たり次第やってもしょうがないので、以下の3つの観点で調査してみます。多分、何回かに分けて調査すると思うのですが、今回は初期化パラメータfilesystemio_options = [none|directio|asynch|setall]でどのようにI/Oに関するシステムコールが変化するか見てみます。 1. データファイルへの書き込み これは、DBWRが行っていますので、filesystemio_optionsの各モードでDBWRがopen|writeをどのように実行しているか? 2.REDOへの書き込み これは、LGWRが行っていますので、filesystemio_optionsの各モードでLGWRがopen|writeをどのように実行して...
Sep26

続 Smart Flash Cacheの謎

先日、Smart Flash Cacheを実行した際に2回目が必ず遅いと書きましたが、あれから、ちょっと調べてみました。原因は単純なのですが。一応、ご報告です。 先日のテストを再度実行し、その時のv$sysstatのflash cache 周りの統計情報を見てみます。 flash cache insert skip: DBWR overloaded physical read flash cache hits flash cache inserts flash cache insert skip: exists 1回目 147593 2 206803 398 2回目 0 207038 147880 206680 3回目 0 354529 90 354406 正直、上記のイベントに関してキチンと...
Sep25

Smart Flash Cacheの謎

そろそろ、Smart Flash Cacheのテストに戻ります。 基本的に、Smart Flash CacheはOLTP系で使うものだ。と先日書きました。しかし、テストでOLTP系のSQL(要はindex scan)を実行したら、なかなかbuffer cacheも汚れませんし、当然、flash cacheもキレイなままです。なので、通常はdirect path readを使ってしまうfull scanをscattered readに変える裏技を使って、一気に、buffer cacheを使いまくってみます。 そうすると、一つ、不思議な現象が起こっています。 "2回目のアクセスが、遅い" ORDER_ITEMS表をfull scan(db file scattered read)させた際の経過時間を示してみます。 当然、1回目のアクセスはディスクから物理読...
Sep23

続 Unbreakable Enterprise Kernel

昨日に続き、もう少しUnbreakable Enterprise Kernelをテストしてみます。kernelのupdateでちょっとビックリしたのは以下の問題です。 kernel アップデート後、再起動を行うと、起動はしているようだがコンソールが表示されない(udevサービス起動で固まっている) 回避策) /etc/grub.confの起動オプションにnomodesetを追加する。 kernel /vmlinuz-2.6.32-100.0.19.el5 ro root=LABEL=/ rhgb quiet nomodeset で、昨日のSSDでのOLTPベンチマークをUnbreakable Enterprise Kernelで実行してみます。 結果は以下。 Redhat Compatible Kernel) 平均のTPMで17822、最高のTPMで20062...
Sep22

Unbreakable Enterprise Kernel

海の向こうでOOWが賑やかに開催されていますが、Oracle LinuxでSSDを使った検証している自分にちょっとタイムリーな情報が入ってきました。Oracleが、良くも悪くもOracleデータベースに向けてカリカリにチューニングしたLinux Kernelを発表しました。それがUnbreakable Enterprise Kernelです。 Delivers Better than 75 Percent Performance Gain Over Red Hat Enterprise Linux 5 Compatible Kernel これは、ちょっと聞き捨てなりませんよね。詳細は、Oracleの発表資料を見て欲しいのですが、SSDに対するチューニングも施されているようです。 このkernelは、Oracleのサポート契約無しで、public yum リポジトリからインスト...
chart
Sep22

SSDでのOLTP性能

前回、HDDを使ったOLTPとHDD + SSD(Smart Flash Cache)のパフォーマンス比較を行ないましたが、せっかくなので、SSDにデータを配置した場合のパフォーマンスも計測してみます。 結果は、当然ながら最速となりました。 ベンチマークの結果) 平均のTPMで17822、最高のTPMで20062を記録しました。 ASH Viewerで確認) まず目を引くのはAASの値の低さです。まだまだ、余裕です。今回は、前回と条件を合わすため、15セッションでベンチマークを行っていますが、全く...
Sep21

Smart Flash Cache の使い道

Smart Flash Cache自体、現在のBuffer Cacheの代替キャッシュ(L2 キャッシュ)という位置づけでしかないが、使い道はそれなりに多い。メインメモリ(DDR3)4GBが10000円前後であるのに比べ、SSD 64GBは15000円前後です。SSDは、Buffer Cacheの不足を補うには、もってこいのデバイスと言えるでしょう。 ただし、これは、"あくまでもOLTP系の処理"に限定したものです。OLTP系の処理では、インデックスを使用したアクセスが前提です。またインデックスアクセスは、基本的にバッファ上に存在する(してほしい)事も前提です。DWHのようなシステムでは、バッファ上に乗り切らないので、バッファを迂回したdirect path readを使用します。(が、これもin memory parallel Queryの登場で変わってくるかも知れません) ...
chart
Sep19

Smart Flash Cache 簡単なパフォーマンス比較

SSDも新しくなったことで、快調に検証が進みそうです。 まず、Smart Flash Cache単体のパフォーマンスを比較するため、以下の3パターンのパフォーマンスを測定してみます。 1) 大きなテーブルをdirect path readで検索する 2) 大きなテーブルをdb file scattered readで検索する 3) 大きなテーブルをdb flash cache multiblock physical readで検索する 3)は見慣れないイベントですが、基本的には、全て同じテーブ...
Sep19

Flash Cacheのデバイスが壊れたら

先日、Smart Flash Cacheのテストを行うようテスト環境をセットアップしたのですが、その前からテストで使用するSSDの調子が悪いことが気になっていました。とりあえず、そのままの状態で、Smart Flash Cacheをテストしてみます。まず、テストを始める前に、Smart Flash Cacheが有効になっているか、軽く確認してみることにします。 簡単なSQLを実行して、パフォーマンスを比較、(そもそもエラーにならないか確認)してみます。 [sql]set timing on select * from soe.order_items;[/sql] 細かいテストは次回以降で見ていくとして、ざっくりエラーは発生しません。しかし、パフォーマンスが尋常ではないくらい悪い。何かあるはずだと、アラートログを確認してみます。 ORA-27072: File I/O ...
Sep15

OTNのチューニングセミナー資料

1年くらい前に、オラクルOTNでセミナーを行う機会があり、そのセミナーの内容がOTNに公開(http://www.oracle.com/technology/global/jp/pub/jp/seminar/shinkubo_db/index.html)されています。その時に使用した資料をブログにも公開しておきたいと思います。 (1年前の古い資料をいまさら公開するな。と言われそうですが。。。) 確か、当時は、いろいろなセミナー(Oracleだけではなく)で話しをさせてもらう機会も多く、久しぶりのOracleに関するセミナーだったので話していて(個人的には)楽しかった気がします。チューニングの話しになると、とかく細かい話しになりがち(しがち)ですが、そうではない概念的な話しも何かのお役に立つかも知れません。 [embed]http://www.slideshare.net/...