ホーム > インフラ, プログラミング, Oracle > パフォーマンスカウンターでODP.NETのプーリング状態を確認しよう

パフォーマンスカウンターでODP.NETのプーリング状態を確認しよう


.NETからOracleデータベースに接続する場合は、ODP.NET(Oracle Data Provider for .NET)を使うことがほとんどだと思います。ODP.NETも他のADO.NETのプロバイダーと同様コネクションプーリングなどの機能は標準でサポートされています。では、実際にプーリングが効いているかを確認するにはどうしたらいいでしょうか。

ODP.NETのコネクション状態を確認するには、ODP.NETのインストール時に自動的に追加されるWindowsのパフォーマンスカウンターを参照するのが簡単です。パフォーマンスカウンターの参照方法は、ODP.NETのマニュアルに詳しい解説があります。→ 接続プール・パフォーマンス・カウンタ

前々から存在自体は知っていたのですが、なぜか表示されないので諦めていましたが、ODP.NETのマニュアルにしっかり書いてありますね。レジストリーの値と構成ファイル(web.config|app.config)を変更して、有効にしてあげましょう。

レジストリーの変更

パフォーマンス・カウンタの公開を個別に有効または無効にするには、タイプREG_SZのレジストリ値PerformanceCountersを使用します。このレジストリ値は次のようになります。

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ODP.NET\Assembly_Version

うちのPC(Windows7 64bit)の場合は、コッチみたい

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\ODP.NET\Assembly_Version

構成ファイルの変更

<configuration>
  <oracle.dataaccess.client>
  <settings>
    <add name="PerformanceCounters" value="3"/>
  </settings>
  </oracle.dataaccess.client>
</configuration>

設定する値は、ODP.NETのマニュアルの表3-2に定義された値の合計です。マニュアルでは、HardConnectsPerSecond(1)およびHardDisconnectsPerSecond(2)の値を採りたいので3が設定されています。すべての値を採りたい場合は、4095を指定すればいいでしょう。

両方に設定が行われていると、収集可能なインスタンスが表示されます。インスタンスはAppDomain単位で表示されるようなので、確認したいインスタンスを選択して追加ボタンをクリックしてカウンターを追加してあげましょう。

image

こんな風に表示されます。動きが少なくてあんまり面白くないですね。

image

  1. こうじ
    2015年2月4日 10:16 AM

    64bitはキーが別、構成ファイルにも対応が必要と分かり助かりました。
    構成ファイルのパスを紹介してもらえていれば、なおよしでした!

  1. 2011年11月30日 10:41 AM

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。