壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 341|回复: 0

Cognos抽取时的一些优化

[复制链接]
发表于 2012/3/15 22:49:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
1. 从Oracle数据集市中抽取数据

按默认设置,从Oracle抽取数据的速度较慢(即生成Cube的速度较慢)。如要提高速度,需修改默认配置(以Cognos 7.1为例):

打开Installation Location\Cognos\cer3\bin\cogdmor.ini文件,

找到如下文本行:

; The entry 'Fetch Buffer Size' is used to determine the size of buffer to

; use when fetching.  Larger values can provide better performance on

; some systems.  Note that on 16bit Windows platforms, this is restricted

; to approximately 64k.

;

; If both 'Fetch Buffer Size' and 'Fetch Number of Rows' are set, the latter

; will take precedence and the former will be ignored.

;

; By default, the buffer size used is 2048 bytes, to change this default,

; uncomment one of the following entries and set it accordingly.

;Fetch Buffer Size=2048

;Fetch Number of Rows=10

去掉黄色行的注释,并修改其值。

2. 抽取数据时Cognos服务器端的设置

为了提高生成Cube的速度,还需要配置Cognos的数据服务器,这需要结合当前机器的性能,修改默认配置(以Cognos 7.1为例):

打开Installation Location\Cognos\cer3\bin\cer3.ini文件,

1) 找到Section: PowerPlay DataServer,默认如下:

[Services]

SORTMEMORY=512

可将其修改为如下:

[Services]

SORTMEMORY=51200

注意,有点奇怪的是,这里的512是代表1M的内存。

2) 找到Section: PowerPlay DataServer,默认如下:

[PowerPlay DataServer]

WriteCacheSize=4096

ReadCacheSize=4096

ObjectCacheSize=4096

FlushPercentage=500

可将其修改为如下:

[PowerPlay DataServer]

WriteCacheSize=102400

ReadCacheSize=8192

ObjectCacheSize=4096

FlushPercentage=500

如果生成PowerCube的计算机是多CPU,您就可以可以在Data Source属性对话框中设置启用“multi-processing”功能。启用该功能可以大大提高数据读取阶段生成PowerCube的整体性能。

但多服务器仅适用于以下数据源类型:Impromptu Query Definition (IQD)、Delimited Field Text、Delimited Field Text with Column Titles

其他参数的设置条件 :

WriteCacheSize: 根据可用内存的多少,写缓存的值会对PowerCube的生成时间产生正面或负面的影响。当有足够物理内存以至于磁盘缓存可以增加到和PowerCube一样大小时,就可以获得最佳得性能。  

可以在Services - PowerPlay Data Services - Cache 下的Configuration Manager 中对该设置进行修改。默认值为 8192 (或 8MB)。要对其进行修改,可以使用1024为增量来增加该值的大小。在大型系统上将写缓存增加到32768 (32MB) 或 65536 (64MB) 可以提高性能。然而,如果将其增加到非常大的值(例如102400 或数百兆字节) 会损害性能。  

SortMemory: 该变量可以设置对数据进行排序时所使用的可用物理内存。Transformer 对数据进行排序用于数据合并和自动分区。  

所设定的数值代表在进行数据排序时所使用的2K区块的数量。例如, 将值设为5120可以提供5120 x 2K = 10MB 的内存。默认值为512。 可以在 Services - UDA - General 下的Configuration Manager 中对默认值进行修改。将默认值设置为5120是一个不错的选择。  

TEMPFILEDIRS: Transformer 使用该设置用于临时排序文件。在Transformer执行排序操作时都会创建该临时排序文件。  

可以修改Services - UDA - General 下Configuration Manager 中的地址。可以设置以分号分隔的多个目录。

MaxTransactionNum:  Transformer可以在生成PowerCube的各个阶段插入checkpoint。Maximum Transactions Per Commit设置可以限制插入一个checkpoint之前临时保存的记录的数量。默认设置为MaxTransactionNum=500000。所设定的值是向PowerCube提交修改之前Transformer将要处理的最大记录数。可以在General 标签下的Transformer Preferences对话框中对默认值进行修改。

如果在生成立方体时发生了错误(例如 TR0112 There isn't enough memory available) ,需要降低 MaxTransactionNum的值,这样就可以加快提交的频率并释放磁盘空间。

可以将该设置增加到一个更高的数值 (例如800000) 来提高立方体的生成时间,其结果取决于环境。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 14:09 , Processed in 0.011175 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表