|
Pervasive PSQL 32 ビット サーバー製品(Windows 版)には、Xtreme I/O(XIO)と呼ばれるデータベース アクセラレータがオプションで含まれています。 XIO の使用するための最低限のシステム要件を満たしていれば、カスタム インストールを使用してこのオプションをインストールできます。 XIO は Pervasive PSQL データ ファイルのディスク アクセスを加速させることによってデータベースのパフォーマンスを向上させます。
XIO とデータベース エンジンは共同してパフォーマンスを高めます。データ ファイルが開かれると、エンジンは XIO に通知します。 その時点から、XIO はそのデータ ファイルへのディスク アクセスを加速させます。 XIO は透過的に動作し、ユーザーやアプリケーションの介入は必要ありません。
XIO では、アクセスを加速したくないデータ ファイルを除外することができます。除外を指定するのは簡単で、テキスト ファイルを更新してデータベース エンジンを再起動するだけです。
以下のトピックでは、XIO の追加情報を提供します。
Pervasive の Web サイトの Pervasive PSQL 技術白書で XIO の技術白書も参照してください。この白書では、技術的な説明をこのセクションより詳細に行っています。
一般的に、XIO は、サイズの大きなデータ セットを使用するほとんどのアプリケーションのパフォーマンスを向上させます。XIO の使用上の留意点を次の表に示します。
XIO は、以下の要件を満たすプラットフォームにのみインストールすることができます。
XIO をインストールしたら、システムの設定を以下のようにする必要があります。
XIO はブロック レベルのキャッシングを使用しますが、これはデータベース エンジンが速度向上を必要とする特定のファイルに対してのみです。XIO のメモリ キャッシュは、Pervasive PSQL データ ファイル専用です。たとえば、XIO を非 Pervasive ファイルの汎用ディスク アクセラレータとして使用することはできません。
XIO は、高度な追跡およびキャッシュ アルゴリズムを使用してキャッシュを管理します。このアルゴリズムについては、このセクションで説明する範囲を超えていますので、解説しません。ただし、XIO のメモリの使用方法を知ることにより、このドライバーがどのように機能するかをよりよく理解することができます。
XIO は拡張メモリ、標準メモリ、またはその両方を使用します。
XIO は、拡張メモリが使用可能な場合、まず拡張メモリをキャッシュに使用します。拡張メモリは、物理アドレス拡張(PAE)メモリとも呼ばれます。拡張メモリは、4 GB を超えた RAM です。
XIO は、最大 MaxPAEMemMB レジストリに指定された値まで、オペレーティング システムが許す限り大きな拡張メモリを予約します。レジストリ設定を参照してください。XIO は拡張メモリをシステムがシャット ダウンするまで保持します。つまり、キャッシュ全体が拡張メモリに保持されれば、キャッシュ サイズは変化せず、縮小または拡張します。
拡張メモリが存在しない場合、XIO は標準メモリからキャッシュを取得します。標準メモリは、4 GB までの RAM です。標準メモリでは、XIO はデータベース エンジンのメモリ要求とシステム全体のメモリ要求のバランスをとります。XIO のキャッシュは、ほかのシステム リソースがメモリを取得および開放するように、縮小および拡張します。
MaxCacheSizeMB のレジストリ値が -1(デフォルト)の場合、XIO は現在のシステムの状態に基づいてキャッシュ サイズを増加または減少させて調整を行います。この場合の最大キャッシュ サイズは、物理メモリのおよそ 80% です。
MaxCacheSizeMB が数メガバイトに設定されている場合、XIO はオペレーティング システムが許可するその値までしか拡張しません。
MaxCacheSizeMB にインストールされているメモリを超えた値を設定すると、Windows イベント ログにエラーが書き出され、ドライバーは読み込まれません。イベント ログ メッセージを参照してください。
MaxCacheSizeMB は、標準メモリと PAE メモリ(存在する場合)との組み合わせに基づいたキャッシュの最大サイズです。キャッシュは、メモリがどこにあろうと MaxCacheSizeMB の値を超えて大きくなることはできません。レジストリ設定を参照してください。
拡張メモリが存在してもオペレーティング システムが MaxPAEMemMB に指定された値のメモリを割り当てられない場合、XIO は拡張メモリと標準メモリを組み合わせて使用します。XIO は、4 GB に満たない標準メモリを使用する前に、オペレーティング システムから利用可能な 4 GB を超える拡張メモリを使用して MaxCacheSizeMB 設定を実現します。標準メモリに存在する XIO キャッシュは必要に応じて縮小および拡大します。
Windows のレジストリには XIO の設定パラメーターが含まれています。パラメーターの大多数は予約されていて変更できません。
ただし、MaxCacheSizeMB および MaxPAEMemMB レジストリ エントリは設定可能です。
注意
上の表に挙げられている以外の XIO レジストリ エントリは変更しないでください。予測不能な結果を招きます。
レジストリの編集は高度な操作です。誤って編集すると、オペレーティング システムが起動しなくなる恐れがあります。必要であれば、経験豊富な技術者に依頼して編集を行ってもらってください。
このセクションでは、XIO に関する一般的な質問について説明します。
質問
|
回答
|
---|---|
XIO をクラスター環境で使用できますか?
|
いいえ。Pervasive PSQL をクラスター環境で使用する場合は、Xtreme I/O をインストールしてはいけません。マシンがフェールオーバーによってオンラインになり、共有記憶域をアクセスできないままにしておくと、ノードに XIO がインストールされている場合、そのノードがハングすることがあります。
そのため、Pervasive PSQL インストールの[セットアップ タイプ]ダイアログでは、[カスタム]を選択してください。使用可能なインストール オプションとして[Pervasive Xtreme I/O]が表示される場合は、そのオプションをクリックして、[この機能は使用できなくなります。]を選択します。
Pervasive PSQL インストールの残りを完了します。これ以上のカスタマイズは必要ありません。
|
XIO を仮想マシンで使用できますか?
|
いいえ。Pervasive PSQL を仮想マシンで使用する場合は、Xtreme I/O をインストールしてはいけません。
|
Pervasive PSQL Vx Server には XIO が含まれていますか?
|
いいえ。 Pervasive PSQL Vx Server は物理マシンにインストールすることはできますが、これは主に仮想環境向けに用いられるものです。XIO は仮想環境で使用できないので、Pervasive PSQL Vx Server には含まれていません。
|
XIO がインストールされているかどうかは、どうしたらわかりますか?
|
pvsw.log ファイルの XIO メッセージをチェックしてください。Pvsw.log のメッセージを参照してください。
あるいは、コマンド プロンプトで xiomgr というコマンドを実行します。オペレーティング システムが xiomgr のヘルプ情報を表示すれば、XIO ドライバーがインストールされています。
|
XIO が有効かどうかは、どうしたらわかりますか?
|
xiomgr -query のように、xiomgr ユーティリティに "query" オプションを付けて実行します。
このユーティリティは XIO の現在の状態(有効または無効)および実行中かどうかを表示します。Xiomgrを参照してください。
さらに、pvsw.log ファイルの XIO メッセージをチェックすることができます。Pvsw.log のメッセージを参照してください。
|
XIO が実行中かどうかは、どうしたらわかりますか?
|
|
XIO キャッシュがメモリをどれだけ使用しているかは、どうしたらわかりますか?
|
Xiostats ユーティリティを実行します。
"キャッシュ サイズ" 統計情報に XIO キャッシュのサイズがメガバイト(MB)単位で示されます。Xiostats 統計情報も参照してください。
|
XIO キャッシュがどれくらい有効かは、どうしたらわかりますか?
|
一般的に、"読み取りヒット率" 統計情報のパーセンテージをチェックします。パーセンテージが大きいほど XIO はキャッシュを多く使用しており、XIO はより効果的にパフォーマンスを向上させています。
より範囲を狭めるには、"キャッシュ可能な IO %" 統計情報を調べることもできます。これは、Pervasive PSQL データのみに関連するすべての I/O リクエストのパーセンテージを示します。高いパーセンテージは、ディスク アクセス リクエストの大多数が Pervasive PSQL データに関連していることを示します。
Xiostats 統計情報も参照してください。
|
XIO キャッシュにどのファイルがキャッシュされているかは、どうしたらわかりますか?
|
Xiostats ユーティリティを実行します。[表示|開いているファイル]をクリックします。
機能の全容も参照してください。
|
"開いているキャッシュ ファイル" 統計情報の値は、自分で開いたと思っているファイル数より多かったり少なかったりするのはなぜですか?
|
データベース エンジンはファイルを開いて閉じることがあります。このような場合は "開いているキャッシュ ファイル" にはカウントされません。4 つにセグメント化された Pervasive PSQL ファイルを開くと、1 つだけではなく 4 つのファイルが開いていると表示されます。データベース エンジンはセグメントごとに Open オペレーションを実行します。システム ファイルおよびデータ辞書ファイルも開かれ、これらも合計に含まれます。
Xiostats 統計情報も参照してください。
|
XIO は、ドライバーに関する 2 種類のユーティリティ xiomgr と xiostats を提供します。
Xiomgr は XIO ドライバーを管理します。
-query
|
XIO ドライバーの現在の状態を報告します。たとえば、実行中であるとか、有効であるなどです。
|
-start
|
XIO ドライバーを起動します。
xiomgr -stop コマンドの後で実行する場合は、まず、データベース エンジンが開始していることを確認してください。XIO のトラブルシューティングも参照してください。
|
-stop
|
XIO ドライバーを停止します。
まず、データベース エンジン サービスを停止する必要があります。XIO のトラブルシューティングも参照してください。
|
-enable
|
オペレーティング システムが起動したときに XIO ドライバーを起動します。
enable オプションは、次にオペレーティング システムを起動したときに有効になります。
|
-disable
|
オペレーティング システムが起動したときに XIO ドライバーが起動しないようにします。
disable オプションは、次にオペレーティング システムを起動したときに有効になります。
|
-help
|
ユーティリティの使用法に関する情報を表示します。
|
このユーティリティは XIO キャッシュに関する統計情報を表示します。
Xiostats は、本来、統計情報とグラフ化データの調査を十分に理解しているユーザー向けの高度なユーティリティです。そうであっても、このユーティリティではいくつかの基本的な統計情報を提供します。Xiostats に関する一般的なヒントについては、よく寄せられる質問を参照してください。
Xiostats の主な目的は、XIO および XIO キャッシュに関する統計情報を提供することです。この情報は、このユーティリティのメイン ウィンドウにマトリックスとして表示されます。次の表では統計情報について説明します。
統計情報
|
説明
|
---|---|
時間
|
システム日付および時刻。
|
経過秒数
|
Xiostats が起動されてから経過した秒数。つまり、どれだけの時間実行されたかを秒数で示します。
|
物理メモリ MB
|
そのマシンの拡張メモリを含む物理メモリの合計の概算。
|
キャッシュ サイズ
|
XIO キャッシュのサイズ(メガバイト単位)。この値は、キャッシュがどのメモリを使用するかによって異なります。メモリの使用を参照してください。
|
開いているキャッシュ ファイル
|
開いていて、実際にキャッシュされている(ファイルが読み取られているかまたは書き込まれている)Pervasive PSQL ファイルの数。
開いているキャッシュ ファイルの合計数は、自分で開いていると思っている数と異なることがあります。1 つのファイルを開くことによって、複数の物理ファイルが開かれることがあります。たとえば、4 つにセグメント化された Pervasive PSQL ファイルでは、1 つだけではなく 4 つのファイルが開いていると表示されます。データベース エンジンはセグメントごとに Open オペレーションを実行します。
|
圧縮率
|
キャッシュによって実行されるデータ圧縮の量。
たとえば、圧縮率が 8(8 が 1 になることを意味します)であると仮定します。キャッシュのサイズが 1 GB で圧縮率が 8 の場合、キャッシュには 8 GB のデータが格納されます。
この比率は、データの特性によって異なります。データによっては圧縮可能ですが、圧縮できないものもあります。
|
読み取りヒット率
|
"ヒット" は、XIO が物理ディスクではなくキャッシュから読み取るデータを対象とします。
一般的に、このパーセンテージが高いほど XIO が効率的に実行されています。
メモ:データが全部 Windows システム キャッシュに収まっている場合、XIO は読み取り要求を処理しません。
|
ダーティ バッファー %
|
キャッシュに既に書き込まれて、まだディスクには書き込まれていないキャッシュ内のデータ量。
|
キャッシュ可能な IO %
|
Pervasive PSQL データのみに関連するすべての I/O リクエストのパーセンテージ(XIO は、すべてのディスク アクセス要求を認識しますが、Pervasive PSQL データに関連するもののみに動作します)。
サーバーが Pervasive PSQL 専用である場合、キャッシュ可能な IO % は高いパーセンテージを示します。これは、ディスク アクセス要求の大多数が Pervasive PSQL データに関連するためです。
|
キャッシュ読み取りバイト数
|
キャッシュから読み込まれたバイト数。
|
キャッシュ書き込みバイト数
|
キャッシュに書き込まれたバイト数。
|
次の表は、統計情報のレポートをサポートする本ユーティリティの機能の簡単な説明です。
機能
|
説明
|
---|---|
オプション
|
オプション ダイアログを使用すると、Xiostats がキャッシュをポーリングする間隔など、ユーティリティの機能の一定の部分をカスタマイズすることができます。[オプション]コマンドは、[ファイル]メニューから使用できます。
|
パラメーター
|
パラメーター一覧は、Xiostats のさまざまなレジストリ設定を示します。これらの設定の 2 つだけがカスタマイズできます。レジストリ設定を参照してください。
レジストリ設定に挙げられている 2 つ以外の XIO レジストリ エントリは変更しないでください。予測不能な結果を招きます。
[パラメーター]コマンドは、[表示]メニューから使用できます。
|
開いているファイル数
|
開いているファイルの一覧は、現在どのファイルが開かれ、キャッシュされているかを表示するのに便利です。
[開いているファイル]コマンドは、[表示]メニューから使用できます。
|
パフォーマンス
|
[パフォーマンス]コマンドを使用すると、PerfMon ユーティリティのカウンターに簡単にアクセスできます。PerfMon ユーティリティは、Windows オペレーティング システムの一部として含まれています。このカウンターの使用については、そのマニュアルを参照してください。
|
グラフ
|
[グラフ]コマンドを使用すると、統計情報をグラフ化してさまざまな方法で表示することができます。データは、変数、微分、積分のグラフとして表示することができます。
Xiostats ログに保存された統計情報データもグラフ化することができます。Xiostats のログは、スプレッドシート プログラムで表示可能なカンマ区切り(CSV)形式で保存されたテキスト ファイルです。
[ファイル]メニューのコマンドを使用して、ログ ファイル(CSV ファイル)を開いたり閉じたりします。
|
ログ ファイル
|
ログ ファイル コマンドを使用すると、統計情報のログへの記録を開始および停止したり、ログのスケジュールを設定することができます。
Xiostats のログは、スプレッドシート プログラムで表示可能なカンマ区切り(CSV)形式で保存されたテキスト ファイルです。
[ファイル]メニューのコマンドを使用して、ログ ファイル(CSV ファイル)を開いたり閉じたりします。
メモ:ログ間隔が非常に短い場合、ログ ファイルのサイズは短期間で非常に大きくなります。
|
XIO には xioexclude.lst というテキスト ファイルが含まれており、これを使用してアクセスを加速したくないデータ ファイルを指定することができます。一般的には、除外ファイルを追加する必要はありません。除外ファイルを選択する場合には、以下の手順に従います。
データベース エンジンのインストール時に、XIO がインストールされ、データベース エンジンが XIO キャッシュにファイルをキャッシュすることができれば pvsw.log ファイルにメッセージが書き込まれます。このログ ファイルには次のようなメッセージが書き込まれます。
MicroKernel は XIO キャッシュ ドライバーへのアクティブなリンケージを確保しました。
メモ
XIO がインストールされているが、pvsw.log にこのメッセージが含まれていない場合は、データベース エンジンが XIO と通信することができず、ファイルはキャッシュされません。これを修正するための処置は、トランザクショナル サービスをいったん停止して再開することです。『Pervasive PSQL User's Guide』の Windows サーバー上でのサーバー エンジンの起動と停止を参照してください。サービスを再開したことによって、データベース エンジンが XIO と通信できるようになると、このメッセージが pvsw.log に書き込まれます。
XIO は、次の表に示すようにエラー メッセージを Windows イベント ログに書き込みます。
メッセージ
|
対処方法
|
---|---|
XIO started.
|
不要。
|
XIO did not shut down properly.
|
このエラーが連続して発生する場合は、Pervasive のテクニカル サポートにお問い合わせください。
|
XIO failed to load because a memory allocation of %2 bytes for %3 failed.
|
インストールされているシステム メモリ量と、MaxCacheSizeMB および MaxPAEMemMB の設定を確認してください。
|
XIO detected insufficient RAM (%2MB).It requires %3MB to operate.
|
システム RAM を最低限必要な 2 ギガバイト(GB)に増やしてください。
|
XIO encountered an unrecoverable system error. %2.
|
Pervasive のテクニカル サポートにお問い合わせください。
|
XIO detected the parameter %2 has an invalid value %3.
The legal range is %4 to %5.
The current setting has been coerced to the default value %6.
|
パラメーターを正しい範囲内の値に設定してください。
|
NT OS Version %2.%3 is not a Server Build.
XIO detected the parameter %2 has an invalid value %3.
The legal range is %4 to %5.
The current setting has been coerced to the minimum value %6.
|
パラメーターを正しい範囲内の値に設定してください。
|
XIO detected that the installed memory size changed from %2MB to %3MB.
|
インストールされているメモリを調べ、最低量の 2GB が使用可能であることを確認してください。
|
The maximum cache size parameter (%4MB) may need adjustment.
|
MaxCacheSizeMB の設定を調べ、システム メモリとデータ セットの量に基づいて必要な量に調整してください。
|
このセクションでは、XIO の使用中に問題が発生した場合の対処方法について提案します。
状況
|
説明
|
---|---|
XIO が有効であるのに、システム起動時にロードされない。
|
1. オペレーティング システムをセーフ モード(一般的にシステム起動時に F8 キーを押す)で起動します。
2. XIO ドライバーが読み込まれないように、コマンド プロンプトで xiomgr -disable というコマンドを実行します。
デフォルトで、xiomgr は、Program Files ディレクトリの下の Pervasive ツリーの PSQL¥bin¥ ディレクトリにあります。『Getting Started with Pervasive PSQL』の 「Pervasive PSQL ファイルはどこにインストールされますか?」も参照してください。
3. オペレーティング システムを再起動すると、XIO を開始せずにロードされます。
|
XIO キャッシュがデータベース エンジンの読み書きに応答しない。
|
この状況は、データベース エンジンおよび XIO キャッシュ間の通信がリンクされなくなった場合に起こります。以下の手順を使用して、データベース エンジンと XIO キャッシュ間の通信を再確立してください。
1. Pervasive PSQL サービスを停止します。
2. Xiomgr -stop コマンドを実行します。
3. Xiomgr -start コマンドを実行します。
4. Pervasive PSQL サービスを開始します。
リンクの切断は、以下のように間違った順序で動作を行った場合に発生します。
A. Pervasive PSQL サービスを停止する。
B. Xiomgr -stop コマンドを実行する。
C. Pervasive PSQL サービスを開始する。
D. Xiomgr -start コマンドを実行する。
問題は、手順 C と D の順序が逆であることです。Xiomgr -stop コマンドに続いて、まず Xiomgr -start コマンドを実行し、次に Pervasive PSQL サービスを開始する必要があります。
|
|