inforamtica 調優

1.瓶頸類型:Target, Source, Mapping, Session, System
查找瓶頸的方法:
        1)        Target:寫到本地文件
        2)        Source:每個Source Qualifer後跟Filter組件,Filter         Condition設爲False,移走所有的轉換組件,將數據寫到文件中。將SQL Query在Database 中執行。

         3)        Mapping:每個Target前面跟Filter組件,Filter Condition設爲False,查看Peformance Details:

2)        Target調優
        刪除目標索引和約束
        增加checkpoint interval
        使用Bulk loading和External Loading
        增加Database network Packet size
        Oracle數據庫調優:
        Large intial and next value(storage clause)
        Rollback segments
        最優化redo log,見:init.ora
        當Oracle跟Informatica在同一機器上,使用IPC協議。
3)        Source調優
        針對文件:調優Line Sequential Buffer Length(1024)
        調優Query:添加索引;優化SQL語句
        使用tempdb,關聯Sybase和SQL Server的表
        增加Database network Packet size
        當Oracle跟Informatica在同一機器上,使用IPC協議,見listener.ora和 tnsnames.ora文件。
4)        Mapping調優
        最少化轉換組件
        減少不必要的link
        對Aggregator, Joiner, Rank, Lookup 等組件,減少連接的input/output和output字段。
        Single Pass:讀一次數據,多處使用。
        減少數據類型轉換:數值的比較比字符串要快。
        減少轉換錯誤:使用session tracing terse。
        調優lookup組件:索引,cache,優化lookup條件。在同一個mapping中共享unamed lookup,在不同的Mapping中共享named lookup;使用persistent cache。
        調優Filter組件:儘量使用Source Qualifer過濾數據;Filter組件要靠近Source Qualifer;Filter條件要簡單;
        調優Aggregator組件:Group by簡單的column;Sorted Input;Incremental Aggregation
        調優Joiner組件:小表爲Master;足夠的內存;數據庫作同構關聯
        調優Sequence Generator:多個Mapping共享一個Sequence Generator; Number of Cached Value>1000
        調優表達式:多個流公用重複出現的計算;減少彙總函數:sum(A)+sum(B)和sum(A+B);使用Local Variable;儘量使用數值比較;Treat CHAR as CHAR On Read option;DECODE versus LOOKUP;Using Operators Instead of Functions:||和concat;
        找到Expression的瓶頸:折半法+常量
5)        Session調優
(1)        增加Partition
(2)        調優Session參數
Session 調優參數
設置項        缺省值        建議最小值        建議最大值
DTM Buffer Pool Size        12,000,000 bytes        6,000,000 bytes        128,000,000 bytes
Buffer block size        64,000 bytes        4,000 bytes        128,000 bytes
Index cache size        1,000,000 bytes        1,000,000 bytes        12,000,000 bytes
Data cache size        2,000,000 bytes        2,000,000 bytes        24,000,000 bytes
Commit interval        10,000 rows        N/A        N/A
High Precision        Disabled        N/A        N/A
Tracing Level        Normal        Terse        N/A
        每個Source和Target都至少需要兩個Buffer Blocks
        公式:(session Buffer Blocks) = (.9) * (DTM Buffer Pool Size) / (Default Buffer Block Size) * (number of partitions)
        缺省的Session有的Buffer Block數 = 0.9*12000000/(64000*1) = 168.75
        缺省能夠支持83個源和目標。
        增加:DTM buffer pool size: 可以增加Buffer Block的數目。

        增加:buffer block size: 可以增加一次處理的數據的行數。
        源所有字段的精度總和與目標所有字段的精度總和之間的最大值,就是一次要處理的一條記錄的量值,建議1個buffer block至少要處理20條記錄。

(3)        禁止掉High Precision:可減少數據計算的精度。

(4)        增加Commit Interval可提高對目標數據庫寫的性能。
6)        系統調優
        增加network speed:本地速度一般是網絡的5-20倍;文件拷貝到本地。
        使用多個Informatica Server。
        當只處理7-bit ASCII 或EBCDIC數據時,選用ASCII data movement mode:只使用一個字節存儲數據。
        減少數據Paging到文件中。
        在UNIX系統下,使用processor binding將資源分配給Informatica。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章