`
yinwxiang
  • 浏览: 65198 次
  • 性别: 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连接Mysql数据库案例

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

    Informatica调用存储过程图文流程

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

    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