ASOCACHECONCURRENTCONSUMING 线程

Essbase 配置设置 ASOCACHECONCURRENTCONSUMINGTHREADS 指定可为特定聚合存储 (ASO) 应用程序同时定义的最大重载缓冲区数。重载缓冲区被视为具有指定 resource_usage 值 1 的缓冲区,这是允许的最大值。

将数据加载到 ASO 多维数据集时, Essbase 使用聚合存储高速缓存对数据进行排序。您可以通过指定资源分配来控制数据加载缓冲区可以使用的高速缓存量。

语法

ASOCACHECONCURRENTCONSUMINGTHREADS [appname] n

其中 n 指定应用程序可以并发创建的重载缓冲区数。n 的值可以为 1 到 1000(含 1000)。默认值为 1。

说明

聚合存储高速缓存有助于在数据加载、聚合和检索期间使用内存。(可选)使用此设置指定要划分由 ASODEFAULTCACHESIZE 指定的高速缓存分配的线程数。

范例

聚合存储高速缓存的 specified resource_usage 和 actual 资源使用情况将有所不同,具体取决于您在 ASOCACHECONCURRENTCONSUMINGTHREADS 中指定的线程数。计算实际资源用量的公式为:

 (1/ASOCACHECONCURRENTCONSUMINGTHREADS)*resource_usage

实际的聚合存储高速缓存大小 Essbase 分配的存储高速缓存大小(以 MB 为单位),计算方法为:

ASODEFAULTCACHESIZE*actual resource usage

假设为多维数据集设置了以下配置:

ASOCACHECONCURRENTCONSUMINGTHREADS 5
ASODEFAULTCACHESIZE 500

使用上述设置,最多可以初始化 5 个 ASO 数据加载缓冲区,并为每个缓冲区指定 1.0 的最大 resource_usage。

使用以下 MaxL 语句,可以初始化三个负载缓冲区:

alter database ASOSamp.Basic initialize load_buffer with buffer_id 1 resource_usage 1.0;
alter database ASOSamp.Basic initialize load_buffer with buffer_id 2 resource_usage 0.5;
alter database ASOSamp.Basic initialize load_buffer with buffer_id 3 resource_usage 0.1;

以下 MaxL 语句显示实际资源使用情况:

query database ASOSamp.Basic list load_buffers;
buffer_id internal active resource_usage aggregation_method ignore_missings ignore_zeros
----------------------------------------------------------------------------------------+
1 	  FALSE    FALSE  	     0.2  AGGREGATE_SUM      FALSE 	    FALSE
2 	  FALSE    FALSE  	     0.1  AGGREGATE_SUM      FALSE 	    FALSE
3 	  FALSE    FALSE 	     0.02 AGGREGATE_SUM      FALSE 	    FALSE