ベースライン、計算キャッシュ、解決順およびデータ分散のキューブの最適化ユーティリティを使用すると、キューブを微調整してパフォーマンスを高めることができます。
ユーティリティ | 返されるデータ |
---|---|
ベースライン | キューブのパフォーマンス・メトリック |
解決順 | キューブのメンバーの解決順 |
計算キャッシュ | キューブに最適な計算機のキャッシュ値の選択に役立つデータ |
データ分散 | どのディメンションを疎にしてどのディメンションを密にするかの選択に役立つデータ |
ベースライン・ユーティリティでトラッキングされたメトリックでは、システムの実行状況が表示されます。これらのメトリックを使用してベースライン・パフォーマンスを判定し、ユーザーが行ったその後の最適化の効果を測定します。
このユーティリティを使用する前に、まず、キューブに含めるアウトライン、構成設定、計算スクリプトおよび問合せを含むアプリケーション・ワークブックを作成します。
ユーティリティを実行すると、キューブが構築され、選択したデータ・ファイルがロードされ、選択した計算スクリプトが実行され、アプリケーション・ワークブックに含まれている問合せが実行されます。ユーザーの問合せの代表的な例を把握することは重要です。
ベースライン・ユーティリティではアプリケーションおよび運用プロセスのダッシュボードを作成します。これはキューブの設計および最適化に役立ちます。変更を実装してキューブを再構築すると、ベースラインにより、キューブに繰り返し行った変更を比較できます。アプリケーション・ワークブックのEssbase.Stats.Baselineタブで、ベースライン・ユーティリティは、繰り返すたびに最新データを含めて新規表を追加します。
ハイブリッド・モード・キューブでキューブの最適化ベースライン・ユーティリティを実行する準備
ベースライン・ユーティリティを実行する前に次のタスクを完了します。
アプリケーション・ワークブックを作成するには、サンプル・アプリケーション・ワークブックをダウンロードして、必要に応じてこれを変更します。ギャラリ・テンプレートの検索を参照してください。
問合せシートに異なるサーバーのメタデータがある場合、キューブ・デザイナでは警告を表示し、応答するまで処理が一時休止します。
設定 | 値 |
---|---|
ASODYNAMICAGGINBSO | FULL |
HYBRIDBSOINCALCSCRIPT | NONE |
INDEXCACHESIZE | 100M |
DATACACHESIZE | 100M |
ASODEFAULTCACHESIZE | 100 |
MAXFORMULACACHESIZE | 102400 |
INPLACEDATAWRITEMARGINPERCENT | 20 |
CALCCACHEDEFAULT | 200000 |
LONGQUERYTIMETHRESHOLD | -1 |
ハイブリッド・モード・キューブでのキューブの最適化ベースライン・ユーティリティの実行
ベースライン・ユーティリティでは、密と疎のディメンション、データ・サイズ(PAGおよびINDファイル・サイズ)、ブロック・サイズ、データ、インデックスおよび計算機のキャッシュ・サイズを特定します。さらに、データ・ロード、計算および問合せのメトリックも提供します。
ベースライン・ユーティリティを実行するには:
計算ワークシートは、アプリケーション・ワークブックで表示される順に実行されます。キューブの最適化では、計算シートで計算の実行プロパティを無視します。
キューブの最適化では、「ジョブ」から実行できる計算スクリプトのみがサポートされています。現在のSmart Viewグリッド・コンテキストに依存している計算スクリプトは実行できません(たとえば、@GRIDTUPLES関数を使用して定義された計算または<svLaunch>タグで定義されたランタイム代替変数を使用する計算)。
アプリケーション・ワークブックにデータ・シートがない場合、カタログからデータおよびルール・ファイルを選択するよう求められます。カタログ内の共有ディレクトリにデータおよびルール・ファイルを保管することをお薦めします。これにより、キューブを再構築しても、ファイルが失われなくなります。
キューブの構築にしばらく時間がかかります。
Essbaseでは、Essbase.Stats.Baselineシートを生成して、これをワークブックに追加します。
動的ディメンションを保管済に変更すると、量が少なくなります。
計算済メンバーの解決順を確認して変更し、式の実行数を減らしてパフォーマンスを改善するか、式を含む計算済メンバーの保管を検討して式の実行数を減らし、パフォーマンスを改善します。
解決順ユーティリティでは、アプリケーションで使用される解決順フローの視覚的な表現を提供します。これは、式に関する問合せのパフォーマンスの問題に診断に役立ちます。
キューブの最適化の解決順ユーティリティを実行するには:
Essbase.Stats.SolveOrderシートの情報を使用し、解決順を調整して問合せのパフォーマンスを最適化します。ハイブリッド・モード向けのキューブの最適化およびハイブリッド・モードの解決順を参照してください。
計算キャッシュ・ユーティリティでは、キューブに最適な計算機のキャッシュ設定をお薦めしています。
計算機の適切なキャッシュ設定を使用すると、計算スクリプトで疎ディメンションの計算時に重要なパフォーマンスを改善できます。疎ディメンション全体の計算は、問合せに必要なブロック数を減らすための技術です。
計算機のキャッシュのデフォルト値は、200,000バイトです。最大値は、20,000,000バイトです。
計算機のキャッシュは、計算スクリプトで計算される疎ディメンションを含めるのに十分な大きさに設定する必要があります。計算機のキャッシュを必要なサイズより大きく設定すると、パフォーマンスに悪影響を及ぼします。
通常は、最も大きなディメンションを選択することをお薦めします。
計算機のキャッシュのアルゴリズムでは、最初の疎ディメンションから開始して、キャッシュに配置する疎ディメンションを選択します。
キューブは、機能する計算キャッシュ・ユーティリティに対して構築する必要があります。
ユーティリティでは、20MBまでの各ディメンションの横に適切なキャッシュ設定が表示されます。20MBを超えると、「N/A」が表示されます。通常、数MBを超えた設定は不要です。
Cube.Settingsワークシートの「アプリケーション設定」セクションにこの値を追加します。または、Essbase Webインタフェースのアプリケーション構成設定の値を設定します。余裕を持たせるために切り上げることをお薦めします。
データ分散ユーティリティを使用すると、アプリケーション内のデータを把握でき、キューブの最適化方法に関する重要な決定を行うことができます。
密ディメンションでは、ブロック・ストレージ・アプリケーションのブロックを定義します。ブロックにはデータが最も多いディメンションが含まれていて、そのアプリケーションの特定の問合せレイアウトを表していることが理想です。財務レポート・アプリケーションの場合、通常、これは時間ディメンションおよび勘定科目ディメンションが密であるということです。
問合せのパフォーマンスに影響する要因の1つは、問合せでリクエストされるブロックの数です。リクエストされるブロック数が大きすぎる場合、問合せのパフォーマンスが低下します。リクエストされるブロック数を減らすには、1つ以上の疎ディメンションの上位レベルのメンバーを事前に計算します。最初に、上位メンバーのディメンション・ストレージ属性を保管済属性(「保管」または「共有しない」)に設定し、CALC DIMまたはAGGを使用してそのディメンションを集約する計算スクリプトを実行します。
保管済の疎ディメンションを集約するために使用する計算スクリプトを最適化するには、FIXPARALLELコマンドを使用します。適切なタスク・ディメンションを選択することが重要です。タスク・ディメンションは、どのように計算をスレッドに分割して、並列して実行するかを判定するものです。1つ以上の疎ディメンションに、空のタスクを減らすために最も多くのデータが含まれている必要があり、データが均等に分散されていることが理想です。
この処理は、特に大きなモデルの場合、実行に時間がかかることがあります。