如果Source,Target,Mapping和Session都不存在性能上的瓶颈,则问题可能会出在System
因为Integration Service运行时,它使用了System的资源去运行组件,session,以及读写数据
也使用System内存资源为Aggregator, Joiner, Lookup, Sorter, XML和Rank等组件创建缓存文件

如何判定System的性能瓶颈
  使用Workflow Monitor
    可在运行session时,通过在Workflow Monitor查看CPU, 内存, 及分页情况
    CPU系统运行时的CPU使用率,包括运行其他task

    内存:
      系统运行时的内存使用率,包括运行其他task
      如果内存使用率接近95%,检测一下系统中运行的task是否都在Workflow Monitor,或者是否内存泄露
      可使用系统工具检测session运行前后的内存使用率的变化来判定问题是否出现在内存

    分页:
      分页表示可能的内存泄露,及大批的多任务并行处理

  使用系统工具
    Windows环境
      可以在Task Manager中通过查看属性了解系统情况
        Percent processor time:如果有多个CPU,请监视每个CPU的处理器时间百分比
        Pages/second:如果pages/second超过5,则可能存在过大的内存压力,称为"抖动"
        Physical disks percent time:物理磁盘忙于执行读或写请求的时间百分比
        Physical disks queue length:等待访问同一磁盘设备的用户数
        Server total bytes per second:服务器从网络发送及接收的总字节数

    Unix/Linux环境
      可使用如下工具查看系统情况
        top/iostat/vmstat/sar

如何解决System的性能瓶颈
  1) 如果CPU使用率超过80%,请检查并发运行任务的数量。考虑更改负载或使用网格将任务分发到不同的节点。如果无法减少负载,请考虑添加更多处理器
  2) 如果发生分页,请增加物理内存或减少磁盘上内存密集型应用程序的数量
  3) 如果内存压力过大(不稳定),请考虑添加更多物理内存
  4) 如果时间百分比较高,请调整PowerCenter的缓存以使用内存缓存,而不是写入磁盘
    如果优化缓存,则请求仍在队列中,并且磁盘忙百分比至少为50%,请添加另一个磁盘设备或升级到更快的磁盘设备
    还可为Session中的每个分区使用单独的磁盘
  5) 如果物理磁盘队列长度大于2,可考虑添加其他磁盘设备或升级磁盘设备
    还可为reader、writer和transformation线程配置使用不同的磁盘
  6) 可考虑提高网络带宽
  7) 在优化UNIX系统时,请为主要数据库系统优化服务器
  8) 如果I/O等待的时间所占比重很高,可考虑使用其他未充分利用磁盘
   例如,如果Source,Target,lookup,rank以及aggregate组件的缓存文件都在同一个磁盘上,可考虑将它们放在不同的磁盘上

 

返回Informtaica汇总

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!