若是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:服務器從網絡發送及接收的總字節數html
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組件的緩存文件都在同一個磁盤上,可考慮將它們放在不一樣的磁盤上ios