Informatica初級性能調優(yōu)

本文所列的諸要點都是對Informatica相關產品進行調優(yōu)過程中所涉及到較宏觀的問題难衰。他們不是放之四海而皆準的教條钦无,也不是最終的解決方案。其中一些已經條目(尤其是已經進行過調優(yōu))的建議可能結果會有所不同盖袭。適用于某些特定條目的技巧由于其所要解決問題的層次不同也會產生不同的調優(yōu)結果铃诬。

? ? 對性能進行測試的時候,建議使用20萬條記錄左右的數據源進行處理苍凛。使用比之更大數據量的測試數據源趣席,可能會產生因為表分區(qū)、刪除和重建索引醇蝴、RAID數據條帶化等數據庫問題導致性能下降的問題宣肚,而如果使用的數據源的集合太小,統(tǒng)計出來的平均處理時間肯能會因為數據庫吞吐量悠栓、主機負荷以及網絡流量等因素的影響而變得不穩(wěn)定霉涨。20萬條記錄的集合一般是進行準確統(tǒng)計的比較理想的測試數據源。

? ? 首先試著用如下的方法對Mapping進行調優(yōu)惭适,然后進行Session的優(yōu)化笙瑟,然后重復這一過程直到對調優(yōu)的結果滿意為止,或者無論怎么努力也無法取得更好的效果癞志。如果經過調優(yōu)往枷,性能仍然無法令人滿意,那么整個處理的體系結果就需要進行調整(或者說改變Mapping所要完成的工作)。

? ? 始終要記状斫唷:要想得到一個理想的運行性能秉宿,盡量的要使得系統(tǒng)中的各個部分到達一種運行的平衡狀態(tài),包括數據庫屯碴、硬件資源等描睦,讓他們做各自擅長的事情。不同的體系結構可能在速度以及優(yōu)化的可能性等方面產生巨大的差異导而。

? ? 1)利用數據庫(例如Oracle忱叭、Sybase、Informix今艺、DB2)進行大量的數據處理操作(例如排序韵丑、分組、匯總等)洼滚。換句話說,臨時表(中間表)會對并行操作有很大的益處技潘。在并行設計中遥巴,尤其是通過臨時表計算簡單的數學計算。

? ? 2)盡可能的本地化享幽。將所有的目標表放到Oracle的同一個實例中(相關的SID)铲掐。對任何處理都不要使用同義詞(遠程數據庫連接),包括Lookup值桩、存儲過程摆霉、目標表、數據源奔坟、函數携栋、權限等等。遠程連接的使用會使得處理的變得很慢咳秉。

? ? 3)盡可能的使目標表婉支、存儲過程、函數澜建、視圖以及序列都放到數據源的本地向挖。同樣,不要通過同義詞連接炕舵。

? ? 4)減少外部定義的模塊何之。作為代替,在pre-processing/post-processing中使用perl咽筋、sed溶推、awk等功能。調用外部的應用編程接口(API)本身就會降低性能

? ? 5)時刻謹記Informatica建議每個Session使用1--1.5個CPU。在這種情況下悼潭,Informatica可以和關系數據庫引擎在同一臺機器上配合的很好庇忌。

? ? 6)減少基于數據庫的序列。因為基于數據庫的序列生成器需要一個Wrapper函數和過程調用舰褪。使用這樣的過程會使得性能降低3被左右皆疹。而且這樣的速度降低也不容易通過Debug來發(fā)現,它僅僅是在寫入數據庫的列是才引起速度的降低占拍。先復制這個Mapping略就,然后改調用上面提到的存儲過程為調用Informatica本身提供的內部序列生成器,這樣的運行結果是這個Mapping所能得到的最快的運行結果晃酒。如果你必須使用基于數據庫的序列發(fā)生器表牢,那么最好遵循臨時表的使用建議,然后調用一個屬性為POST TARGET LOAD的存儲過程來分配序列的批量操作贝次。

? ? 7)關閉詳細日志崔兴。Session的日志會對整個Mapping的性能產生極大的影響。在Session里面去掉“覆蓋”(over-write)蛔翅,將生成日志的屬性設置為正常日志模式敲茄。不幸的是,在Informatica的內部山析,日志記錄并不是一個并行的機制堰燎,而是直接安排在操作的進行過程中。

? ? 8)關閉“收集性能統(tǒng)計”開關笋轨。然而秆剪,在進行調優(yōu)的過程中,開啟這項功能又是非常必要的爵政,它能發(fā)現一些Reader和Writer線程在速度方面的一些問題仅讽。

? ? 9)如果你的數據源是平面文件,可以使用臨時表钾挟。這樣的話何什,你就可以使用sql*loader、bcp或者其他數據庫的并行裝在功能等龙。只把那些簡單的處理邏輯放置在數據源的加載Mapping中处渣,不要加入那些編碼的查詢和轉換邏輯。盡量把平面文件放在本地磁盤上蛛砰,不要放在磁盤陣列中罐栈。

? ? 10)盡量不要使用無緩沖Lookup。使用無緩存的Lookup時泥畅,性能會受到顯著的影響荠诬,尤其是如果Lookup的表是一個可增長或者是可更新的表,一般來講這樣的表在整個操作過程中它的索引是會發(fā)生變化的,因此優(yōu)化器就無法利用所有的統(tǒng)計信息柑贞。同時方椎,盡可能的使用臨時表,此時數據庫中的視圖可以將相關的數據關聯起來钧嘶,或者可以利用Informatica的Joiner對象來關聯數據棠众,這兩種都可以明顯的提高數據處理速度。

? ? 11)分離復雜的Mapping有决。試著將整個Mapping分成一個個邏輯處理單元闸拿。如果需要進行并行的處理,重新進行體系結構的設計和布局书幕。通過小的組件來處理單個的任務新荤,可以提高整個處理過程的并行度。

? ? 12)平衡台汇,在Informatica苛骨、SQL語句和數據庫之間取得一種平衡。要重復利用數據庫的特長:讀苟呐、寫痒芝、排序、分組掠抬、過濾吼野;利用Informatica來處理復雜邏輯:外關聯校哎、數據繼承两波、多數據源處理等等,這種平衡需要DBA的幫助來實現闷哆。

? ? 13)調優(yōu)數據庫腰奋。根據數據庫的大小調整數據庫的參數。

? ? 14)確保在PMSERVER的機器上有足夠的SWAP空間和臨時空間抱怔。尤其是在Mapping中含有Aggregator劣坊、有緩沖的Lookup或者不同數據源的數據關聯的操作的情況,更有必要這樣做屈留。

? ? 15)在開發(fā)局冰、運行過程中,在服務器上面運行一些加載監(jiān)控工具灌危。EMC磁盤陣列也可以考慮一下康二。

? ? 16)設置Session。Session屬性中有很多可以用來調優(yōu)勇蝙。通過設置“Collect Performance Statistics”屬性可以獲得在Mapping運行期間的一些性能方面的信息沫勿,從而可以對Session的其他屬性進行修改,或者對數據庫的參數進行調整。調優(yōu)一個有問題的Mapping的最好辦法是把它分成幾個部分分別進行測試:(1)讀處理产雹,調優(yōu)Reader诫惭,檢查相關的配置是什么,把讀出來的數據輸出到平面文件蔓挖,以減少沖突夕土。檢查“Throttle Reader”參數(默認是不被設置的)。(2)如果在平面文件中寫入數據的時候Reader都不是很快时甚,就需要做一些基本的Mapping調優(yōu)了隘弊。盡量合并Expression控件,如果可能的話將Lookup改為非連接的荒适。檢查Aggregator和Lookup中索引和shju緩沖區(qū)的大小梨熙。(3)寫處理,如果目標的寫入速度比較慢刀诬,把Mapping改為一次寫入一張目標表咽扇,然后可以找到引起寫入慢的那個目標表。然后采用數據庫優(yōu)化技術分區(qū)陕壹、修改統(tǒng)計信息质欲、加載過程中去掉索引等等。

? ? 17)將PMSERVER的機器上的所有其他應用都移走糠馆,除了數據庫嘶伟、內存數據庫和數據倉庫本身。PMSERVER可以喝關系數據庫配合的很好又碌,但是和其他的應用服務器配合的就很差九昧。

來自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/25811908/viewspace-1269442/毕匀,如需轉載铸鹰,請注明出處,否則將追究法律責任皂岔。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末蹋笼,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子躁垛,更是在濱河造成了極大的恐慌剖毯,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件教馆,死亡現場離奇詭異逊谋,居然都是意外死亡,警方通過查閱死者的電腦和手機活玲,發(fā)現死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門涣狗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谍婉,“玉大人,你說我怎么就攤上這事镀钓∷氚荆” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵丁溅,是天一觀的道長唤蔗。 經常有香客問我,道長窟赏,這世上最難降的妖魔是什么妓柜? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮涯穷,結果婚禮上棍掐,老公的妹妹穿的比我還像新娘。我一直安慰自己拷况,他們只是感情好作煌,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著赚瘦,像睡著了一般粟誓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上起意,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天鹰服,我揣著相機與錄音,去河邊找鬼揽咕。 笑死悲酷,一個胖子當著我的面吹牛,可吹牛的內容都是我干的心褐。 我是一名探鬼主播舔涎,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼笼踩,長吁一口氣:“原來是場噩夢啊……” “哼逗爹!你這毒婦竟也來了?” 一聲冷哼從身側響起嚎于,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤掘而,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后于购,有當地人在樹林里發(fā)現了一具尸體袍睡,經...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年肋僧,在試婚紗的時候發(fā)現自己被綠了斑胜。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片控淡。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖止潘,靈堂內的尸體忽然破棺而出掺炭,到底是詐尸還是另有隱情,我是刑警寧澤凭戴,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布涧狮,位于F島的核電站,受9級特大地震影響么夫,放射性物質發(fā)生泄漏者冤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一档痪、第九天 我趴在偏房一處隱蔽的房頂上張望涉枫。 院中可真熱鬧,春花似錦腐螟、人聲如沸拜银。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽尼桶。三九已至,卻和暖如春锯仪,著一層夾襖步出監(jiān)牢的瞬間泵督,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工庶喜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留小腊,地道東北人。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓久窟,卻偏偏與公主長得像秩冈,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子斥扛,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內容