如下的项目是针对INFORMATICA 调优的中级技巧。如果使用本系列文档的初级调优
技巧后仍然遇到性能方面的问题,可以使用本文档中的相关技巧。这些技巧可以使得
MAPPING 的性能有很大程度的提升(我们已经对INFORMATICA 做了很多的性能测试来
验证这一点)。需要注意的是,本文档中的技巧对于100 万条记录(平均2.5G 的数据量)左
右的记录集才有显著的效果。所有的技巧都是针对INFORMATICA 的MAPPING 及其对象,
并不包括其他的部分。这些技巧适用于POWERMART/POWERCENTER
(4.5X/4.6X/1.5X/1.6X)的版本,其他的版本没有经过测试,同时这些技巧的先后于速度的
快慢之间并没有关系,每个技巧都对整个MAPPING 的性能有影响。再次申明,MAPPING
中的对象的数量会对运行的整体速度有所影响。
有时候为了提高速度,可以牺牲一些MAPPING 的可读性。以前的范例告诉我们,需要
在速度和可读性、可维护性(模块化)之间进行权衡。确认你的客户认可这种方法,或者数
据量非常的大必须用这种方法。注意:如下的这些技巧包括了很小的清洁和你能采取的最后
的提高的手段,只有在数据量非常大的情况再使用这些技巧,如果不是,采用那些初级的调
优技巧,然后再使用这些技巧。
为了理解本文档中的这些技巧,需要回顾一下内存使用图(在这个网站里面也有说明。
译注:目前不清楚所指为哪个网站)。
1、过滤表达式。试着对EXPRESSION 的端口进行评估。尝试在EXPRESSION 计算
FILTER 控件所需要的结果(真/假)。复杂的过滤表达式会使MAPPING 变慢。表达式和条
件在EXPRESSION 中的计算是最快的。其结果是:条件越多、越复杂,速度的降低就严重。
把实际的表达式(无论复杂与否)放在作为FILTER 的输入流的EXPRESSION 控件中,计
算出一个数值的标志:1 代表真、0 代表假,将这个结果输出到FILTER 中,你能够观察到
这样的配置所带来的最大的性能。
2、去掉所有的“缺省”表达式。包括“ERROR(XXX)”在内的任何默认值都会降低运
行速度,它会给MAPPING 中的每个数据元素带来不必要默认值的计算。唯一的例外就是你
必须为一个特定的端口设定某个默认值,这种情况下也有另一个解决方法:在EXPRESSION
中添加一个IIF(XXXX,DEFAULT VALUE XXXX)的变量。这样做总是比设定一个默认值的
速度要快(如果是对于OUTPUT 端口来讲)。
3、变量端口比输出端口要慢,减少变量端口的使用。变量对“静态并且是状态相关”
的情况是比较好的,但是会增加处理时间,因为对经过EXPRESSION 控件的每条记录都要
进行分配/重新分配的操作。
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余4页未读,立即下载