kettle調優總結

前言
大家好,我是DJ丶小哪吒,我又來跟你們分享知識了。小編是一名軟件工程系大數據應用開發專業大二的學生,對軟件開發有着濃厚的興趣。喜歡與人分享知識。做博客的目的就是爲了能與 他 人知識共享。最近小編也在學習kettle,小編平時會對課堂上的知識做一些總結來發表博客。來與大家分享。也會偶爾把分享一些我們的課後練習。由於水平有限。博客中難免會有一些錯誤。如有 紕 漏之處,歡迎大家在留言區指正。小編也會及時改正。

DJ丶小哪吒又來與各位分享知識了。今天小編需要分享的是關於kettle的優化。各位,注意收藏哦。不要錯過哦。這是企業裏大牛才具備的知識哦。一定不要錯過。---- 曾經有一份真誠的加薪機會擺在你面前。你一定要珍惜。不要等到失去才追悔莫及。

Kettle調優總結

1、調整JVM大小進行性能優化,修改Kettle根目錄下的Spoon腳本。

在這裏插入圖片描述

參數參考:
**-Xmx2048m:**設置JVM最大可用內存爲2048M。

**-Xms1024m:**設置JVM促使內存爲1024m。此值可以設置與-Xmx相同,以避免每次垃圾回收完成後JVM重新分配內存。

**-Xmn2g:**設置年輕代大小爲2G。整個JVM內存大小=年輕代大小 + 年老代大小 + 持久代大小。持久代一般固定大小爲64m,所以增大年輕代後,將會減小年老代大小。此值對系統性能影響較大,Sun官方推薦配置爲整個堆的3/8。

**-Xss128k:**設置每個線程的堆棧大小。JDK5.0以後每個線程堆棧大小爲1M,以前每個線程堆棧大小爲256K。更具應用的線程所需內存大小進行調整。在相同物理內存下,減小這個值能生成更多的線程。但是操作系統對一個進程內的線程數還是有限制的,不能無限生成,經驗值在3000~5000左右。

2、 調整提交(Commit)記錄數大小進行優化,Kettle默認Commit數量爲:1000,可以根據數據量大小來設置Commitsize:1000~50000

3、儘量使用數據庫連接池;

4、儘量提高批處理的commit size;

5、儘量使用緩存,緩存儘量大一些(主要是文本文件和數據流);

6、Kettle是Java做的,儘量用大一點的內存參數啓動Kettle;

7、可以使用sql來做的一些操作儘量用sql;

Group , merge , stream lookup,split field這些操作都是比較慢的,想辦法避免他們.,能用sql就用sql;

8、插入大量數據的時候儘量把索引刪掉;

9、儘量避免使用update , delete操作,尤其是update,如果可以把update變成先delete, 後insert;

10、能使用truncate table的時候,就不要使用deleteall row這種類似sql合理的分區,如果刪除操作是基於某一個分區的,就不要使用delete row這種方式(不管是deletesql還是delete步驟),直接把分區drop掉,再重新創建;

11、儘量縮小輸入的數據集的大小(增量更新也是爲了這個目的);

12、儘量使用數據庫原生的方式裝載文本文件(Oracle的sqlloader, mysql的bulk loader步驟)。


好了,以上內容就到這裏了。你學到了嗎。 歡迎路過的朋友關注小編哦。各位朋友關注點贊是小編堅持下去的動力。小編會繼續爲大家分享更多的知識哦~~~。

我是DJ丶小哪吒。是一名互聯網行業的工具人,小編的座右銘:“我不生產代碼,我只做代碼的搬運工”…哈哈哈,我們下期見哦,Bye~

你要相信,一切都是最好的安排
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章