`
yinwxiang
  • 浏览: 65277 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Informatica 找出性能瓶颈

    博客分类:
  • ETL
阅读更多
  以下提到的Session log,是指在这个$PMRootDir/SessLogs目录下对应着每个运行的session都有一个以.bin结尾的二进制文件,在查看的时候用strings这个命令
  用线程统计定位瓶颈:默认情况下infa会分配:一个read线程,一个transformation线程,一个write线程,来处理一个session,这些都可以在Session log中查看:
    run time:线程运行时间
    Idle time:线程空闲时间
    Busy time: 线程忙的时间(是个比列)
    Thread work time:处理某个transformation用的百分比。
排除基于线程的瓶颈:1.在read和write 线程中busy占的时间比较高时,可用string这种数据类型来对源和目标进行处理,因为处理非string时需要更多的时间。2.在transformation线程busy占的时间比较高时,可用增加partition point来进行处理,当你每增加一个partition,会多分配一个transformation线程来处理数据(这也要考虑系统的环境)。3.当某个transformation组件的处理时间超过其它的组件很多的处理时间时,可以考虑增加partition来对其进行处理。
很悲剧的是,我在8.5.1里面好像没能准确到某个transformation组件,找不到breakdown的等信息?
  写数目标瓶颈:通常造成写数目标瓶颈有都是写入数据库:小的checkpiont间隔,小数据库网络包,系统负载过重。找出写瓶颈:可以把目标直接设成写文件模式,这时要是速度快很多,表明是有写数据瓶颈,可以查看session log如果write 时间明显超过转换或读的时间,也表明有。大致的解决思路,DBA帮你优化数据库,数据库查询,增加网络包大小,建立索引,和主键等。
  读源数据瓶颈:主要有低效的查询,数据网络数据包配置的较小
找出读瓶颈:可以查看session log如果read时间明显超过转换或写的时间,也表明有该瓶颈。用Filter transformation查出,在这个组件中把condition直接设为false假如速度还是很慢,说明read有瓶颈。去掉其它多余的组件直接写入文本中,看速度如何。还是较慢,说明有问题。直接在log文件中把生成的sql代码放到数据库中执行,看速度如何解决办法:假如是从数据文件中读取,调整每行的字节数对数据库进行优化,增加数据库的网络包大小,建立索引,和主键,还可以告诉数据库sql的按照自己执行计划等。
  Mapping瓶颈:当transformation线程这个线程明显高于读,写线程的时间时,或者在某一个transformation组件上花费了较多时间时,瓶颈极有可能是在transformation线程上查看session log 分析性能计数器。errorrows rowsinlookupcache计数器显示很高,也表明是这个瓶颈。还可以这样,直接在写入时加上一个filter,条件为false,看比原先的执行速度没有明显的提高说明存在这个瓶颈。
  Session瓶颈:这个主要是监控session log文件中的信息,主要监控input rows, output rows, and error rows这些数据。
  系统瓶颈:infa在执行Aggregator, Joiner, Lookup, Sorter, XML, and Rank这些组件时,这些在系统分配的时候同样在Session log里面都有了详细的记录,都是要利用系统空间来创建cache文件的,当然cpu Memory usage,Swap usage.磁盘的占用空间都是要实时进行监控的。
1
0
分享到:
评论

相关推荐

    informatica 性能调优

    可以采用二分法或排除法找出性能瓶颈。通常,分析Transformation之间的数据流和计算密集度有助于定位问题。 3. **系统性能平衡**: - 性能优化不仅限于Informatica本身,还包括与之交互的数据库和硬件资源。理想...

    Informatica 性能调优

    Informatica性能调优旨在消除系统中的性能瓶颈,以实现整体性能的最佳状态。这一过程通常包括识别瓶颈、采取优化措施,以及不断迭代,直至满足预期的性能需求。 系统性能优化是一个全局性的工作,需要平衡应用软件...

    Informatica性能调优(初级)[借鉴].pdf

    【Informatica性能调优初级要点】 Informatica性能调优是一个复杂的过程,涉及到多个层面的考虑。以下是一些初级调优的要点,可以帮助你提升Informatica的处理效率。 1. **利用数据库进行数据处理**: - 利用...

    Informatica性能调优(初级)

    性能调优是确保Informatica项目高效运行的关键部分,特别是对于初学者来说,了解并掌握这些调优技术至关重要。以下将从多个方面详细解释如何对Informatica进行初级性能调优。 首先,要理解性能调优的宏观概念。这些...

    INFORMATICA10.4.1下载链接.txt

    A:Informatica 提供了一定时期的免费试用版本,可以让用户在购买前充分了解产品的功能和性能。详情请咨询官方网站。 ### 结语 Informatica 10.4.1 是一款功能强大且易于使用的数据集成解决方案。它不仅能够帮助...

    informatica调优要点(全)

    7. **数据流分析**:使用Informatica的Data Profiling功能,对数据进行分析,了解数据质量,找出潜在的性能问题。 8. **版本控制与维护**:保持映射和工作流的整洁,定期进行代码审查,避免因版本混乱导致的性能...

    Informatica 运用Debug调试

    3. **问题诊断**:如果在调试过程中发现数据不正确或转换错误,可以通过查看错误日志、数据预览和变量值来找出问题原因。 ### 四、Debug调试技巧 1. **有策略地设置断点**:根据问题定位的需求,合理设置断点,如...

    Informatica如何添加Partition

    Informatica Partition 是一种优化数据处理性能的机制,它允许一个 Session 在执行时使用多线程,从而提高数据加载的速度和效率。默认情况下,每个 Session 只有一个 Partition,但通过增加 Partition 数量,可以...

    Informatica调用存储过程图文流程

    使用存储过程可以提高数据库的安全性、可靠性和性能。 Informatica 调用存储过程的步骤 1. 新建一个 Mapping:在 Informatica 中,创建一个新的 Mapping,用于调用存储过程。Mapping 是 Informatica 中的一种数据...

    Informatica连接Mysql数据库案例

    Informatica 连接 Mysql 数据库案例 Informatica 是一个功能强大的数据集成平台,支持多种数据源的连接和集成,本文档将详细介绍 Informatica 连接 Mysql 数据库的步骤和配置。 Informatica 连接 Mysql 数据库的...

    informatica

    Informatica 是一款强大的数据集成工具,主要用于数据提取、转换和加载(ETL)过程。它为企业提供了一套全面的数据管理解决...在实际应用中,Informatica 的易用性、性能和可扩展性使其成为企业级数据管理的首选工具。

    一看就会的Informatica10.2.0.pdf

    Informatica 10.2.0 安装和配置指南 Informatica 10.2.0 是一款功能强大的数据集成工具,广泛应用于企业数据集成、数据迁移和数据同步等领域。下面是 Informatica 10.2.0 的安装和配置指南: Informatica 10.2.0...

    Informatica性能调优(中级)

    ### Informatica性能调优(中级) #### 概述 在ETL开发过程中,经常会遇到mapping运行速度过慢的问题,这不仅影响数据加载效率,还可能导致数据处理延误,进而影响业务决策。因此,对Informatica进行性能调优是至关...

    Informatica PowerCenter v8.6 performance tunning guide

    1. **性能监控与诊断**:性能调优的第一步是监控系统的运行情况,识别瓶颈。通过Informatica Administrator和Performance Monitor,可以收集并分析作业运行时间、内存使用、CPU占用率等关键指标。 2. **工作负载...

    Informatica常见问题以及解答

    4. **问题4:如何优化Informatica PowerCenter的性能?** - **解答**: - **合理设计映射**:避免使用复杂的嵌套函数和过多的转换操作。 - **利用并行处理**:通过增加线程数来提高数据处理速度。 - **使用分区*...

Global site tag (gtag.js) - Google Analytics