基线、计算器高速缓存、解析顺序和数据分布优化多维数据集实用程序可帮助您优化多维数据集以提高性能。
实用程序 | 返回的数据 |
---|---|
基线 | 多维数据集性能度量 |
解析顺序 | 多维数据集中成员的解析顺序 |
计算器高速缓存 | 帮助您为多维数据集选择最佳计算器高速缓存值的数据 |
数据分布 | 帮助您选择使哪些维稀疏以及使哪些维密集的数据 |
基线实用程序跟踪的度量显示系统的执行方式。使用这些度量可确定基线性能,然后衡量所做的后续优化的好处。
使用此实用程序前,首先创建应用程序工作簿,其中包括要包含在多维数据集中的大纲、配置设置、计算脚本和查询。
运行该实用程序时,它将构建多维数据集、加载所选数据文件、执行所选计算脚本,并运行应用程序工作簿中包含的查询。从用户那里获得具有代表性的查询示例,这一点很重要。
基线实用程序可创建应用程序和操作进程的面板,帮助您设计和优化多维数据集。当您实施更改并重建多维数据集时,基线将帮助您比较多维数据集修改的迭代。在应用程序工作簿的 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 字节。
计算器高速缓存应该设置为正好足以包含在计算脚本中计算的稀疏维。将计算器高速缓存设置为大于其所需值会对性能产生负面影响。
通常,最好选择最大的维。
计算器高速缓存算法会从第一个稀疏维开始选择要放置在高速缓存中的稀疏维。
必须构建多维数据集,才能使计算器高速缓存实用程序发挥作用。
实用程序将在每个维旁边显示不超过 20 MB 的正确高速缓存设置。如果超过 20 MB,将显示 "N/A"。通常,设置不需要多几 MB。
将此值添加到 Cube.Settings 工作表的“应用程序设置”部分。或者,您可以在 Essbase Web 界面中的应用程序配置设置中设置该值。为了多留出一点空间,采用舍入是一种不错的做法。
数据分布实用程序可帮助您更好地了解应用程序中的数据,从而使您能够就如何优化多维数据集做出重要决策。
密集维用于定义块存储应用程序中的块。理想情况下,块应该包含具有大部分数据的维,并表示该应用程序的主要查询布局。对于财务报告应用程序,这通常意味着时间和账户维应该是密集的。
影响查询性能的因素之一是查询请求的块数量。如果请求的块数量太多,则查询性能会受到影响。要减少请求的块数量,可预先计算一个或多个稀疏维的高级别成员。首先,将高级别成员的维存储属性设置为存储的属性(“存储”或“从不共享”),然后运行计算脚本以使用 CALC DIM 或 AGG 聚合该维。
要优化用于聚合所存储稀疏维的计算脚本,可以使用 FIXPARALLEL 命令。选择正确的任务维非常重要。任务维用于确定如何将计算拆分为线程,并且并行执行。一个或多个稀疏维应该包含大部分数据,以减少空任务;理想情况下,这些数据应该均匀分布。
运行此过程可能需要很长时间,尤其是在较大模型上。