シミュレーション計算を使用した計算時間の推定
計算スクリプトでSET MSG ONLYを使用して計算をシミュレートできます。 シミュレーション計算では、同じデータおよびアウトラインに基づく実際の計算のパフォーマンスの分析に役立つ結果が生成されます。
SET NOTICE HIGHなどのコマンドを使用してシミュレーション計算を実行すると、各疎ディメンションの完了にかかる相対時間をマークできます。 次に、1つ以上のディメンションに対して実際の計算を実行することで、シミュレーションされた計算の実行にかかる時間が実際の計算の実行にかかる時間に比例するため、完全な計算にかかる時間を見積もることができます。
たとえば、計算が午前9:50:00に開始され、最初の通知が午前09:50:10にタイムスタンプされ、次の通知が午前09:50:20にタイムスタンプされる場合、計算の各部分に10秒かかったことがわかります。 その後、最初の部分に対してのみ実際の計算を実行し、実行に30秒かかった場合は、他の部分も30秒かかることがわかります。 合計で2つのメッセージがあった場合、実際の計算には約60秒 (20 / 10 * 30 = 60秒) かかることがわかります。
次の各トピックでは、シミュレート計算の実行方法と、シミュレーション計算を使用して計算時間を見積もる方法について説明します。
見積精度に影響するファクタ
シミュレートされた計算では、次の問題を除いて、正確な時間が約5%に戻されます:
これらのファクタが存在する場合、この見積り手法では、Essbaseがシミュレーションされた計算の30%-40% (SET NOTICE HIGHによって生成されたメッセージの30%-40%)に達すると、計算時間がより厳密に予測されます。
結果に基づいたアウトラインの変更
シミュレーション計算を見積もり、分析した後、アウトラインを変更してパフォーマンスを向上させることができます。
アウトラインの上から下に、疎ディメンションを並べ替えて、最上位ブロックの増加率を最も低くします:
-
フル・モデル・ロード後のレベル0ブロック: 100,000
-
疎ディメンションのみを連結した後の上位レベル・ブロック1: 1,000,000
-
疎ディメンション2のみを連結した後の上位レベル・ブロック: 3,000,000
-
疎ディメンション3のみを連結した後の上位レベル・ブロック: 10,000,000
-
疎ディメンション4のみを連結した後の上位レベル・ブロック: 300,000
-
疎ディメンション5のみを連結した後の上位レベル・ブロック: 5,700,000
例:
-
#4 (メンバー= 10,000, 4レベル)
-
#1 (メンバー= 500, 2レベル)
-
#2 (メンバー= 100, 4レベル)
-
#5 (メンバー= 10,000, 4レベル)
-
#3 (メンバー= 20,フラット)
シミュレートされた計算を使用して、上位ブロック数を生成します。 前述のアイテムの横に示されているように、これらの数値は実際のディメンション・サイズにかかわらず正確である可能性があります。
注意:
メンバーの最大数は、必ずしも適切な予測子ではありません。