• 性能计数器


    所有组件都有计数器用来记录运行时各方面的数值,比如Integration Service会追踪记录每个组件的input rows, output rows以及error rows的数量,并将这些数字记在计数器里。其中,一些组件的计数器是跟性能相关的,专门用来记录性能有关的数字信息。如下列的计数器,可通过查看它们来确定性能瓶颈并达到性能优化的目的


    1) Errorrows计数器
      记录error记录条数,需查看如下计数器来分析原因
      Transformation_errorrows

      当有数据流有大量Error rows时,会影响到性能
      具体请参照:排除Transformation Errors

    2) Readfromcache和Writetocache计数器
      记录缓存读写记录条数
      当session包含Aggregator, Rank, 和Joiner组件时,需查看如下计数器来分析原因
        Transformation_readfromcache
        Transformation_writetocache
        Transformation_readfromdisk
        Transformation_writetodisk

      可以在session运行时,通过在monitor里查看运行session的log来查看细节

      查看磁盘访问时,需要计算"缓存命中率"和"缓存丢失率"
        缓存命中率计算公式:[(# of reads from disk) + (# of writes to disk)]/[(# of reads from memory cache) + (# of writes to memory cache)]
        缓存丢失率计算公式:[1 - 缓存命中率]

      因此最小化磁盘读写,最大化缓存读写可以最大限度的提升性能,其中缓存命中率为1是最理想的情况

    3) Readfromdisk和Writetodisk计数器
      记录磁盘读写记录的条数
      当session包含Aggregator, Rank, 和Joiner组件时,需查看如下计数器来分析原因
        Transformation_readfromdisk
        Transformation_writetodisk

      可在session运行时,通过monitor查看session运行log的细节

      如果这两个计数器的值都大于0,说明缓存小,可通过调高缓存大小提升性能

      关于缓存,包括index cache和data cache
      其中index cache是存储的group信息的,data cache存储的是组件转换后的数据
      两个缓存都可以提升性能,但由于组件转换后的数据量往往是非常大的,因此data cache需调高的要比index cache多
      但若处理的数据量超过可用内存时,可调高index cache提升性能

      如果session中的Aggregator是不断累积增长的,Integration Service会不断的从磁盘读写历史Aggregated数据,
      则下面的计数器值会大于零
        Aggregator_readtodisk
        Aggregator_writetodisk
      如果预先就知道大体的数据量时,可将缓存调整为合适的大小,因为缓存过大或过小都会有性能上的损失

    4) Rowsinlookupcache计数器
      当session中包含多个lookup组件时,可能会降低性能
      若lookup表很大时,可通过优化lookup expressions来提高效率
      具体请参照:Optimizing Lookup Transformations

  • 相关阅读:
    25 自动类型转换
    24 枚举Enum类
    23 Collection集合常用方法讲解
    Eclipse 快捷键
    21 泛型
    20 IO流(十七)——Commons工具包,FileUtils(二)——copy方法
    19 IO流(十六)——Commons工具包,FileUtils(一)
    18 IO流(十五)——RandomAccessFile随机访问文件及使用它进行大文件切割的方法
    CentOS6.5-6.9安装 docker
    linux开启端口
  • 原文地址:https://www.cnblogs.com/shiliye/p/10536408.html
Copyright © 2020-2023  润新知