Trafodion 效能優化之載入資料

2021-07-25 17:19:00 字數 1864 閱讀 8276

trafodion提供兩種載入資料的方式,(1)trickle load(使用upsert/insert) (2)bulk load。trickle load使用hbase的寫路徑,而bulk load直接建立hfiles並放到hbase裡面。關於trickle load和bulk load的介紹,請參考我的另外一篇文章「 trafodion 資料載入介紹 」

兩種載入方式都可以通過以下方式提公升效能,

1. 使用aligned format表

2. 載入資料時避免表上有索引

下面是一些針對兩種載入方式分別適用的調優原則,

(1) upsert using load速度最快,其次是upsert,最後是insert。如果是使用odb,語法loadcmd=ul表示使用upsert using load方式載入。

(2) 如果是持續載入,把memstore_flush_size調大一些。

(3) 對於窄表,預設的hbase_rowset_vsbb_size可以設大一些,預設值是1024。

(4) 吞吐量隨著region伺服器的個數線性增長,因此集群規模越大效能越好。

(5) 增加寫程序的個數(通過增加esp併發數,如果使用odb工具的話建立多個連線)可以提高吞吐量。esp併發數可以通過cqd parallel_num_esps 『』方式來修改。

(6) 如果使用odb工具,假設是6個節點的集群,測試過的效能最佳是2個客戶端同時載入。

(7) 可以客戶允許,設定durability值為skip_wal。

(8) 減少wal檔案備份數,預設為3,可以減少為2或者1。通過修改hbase.regionserver.hlog.tolerable.lowreplication 『』實現。

(9) 持續載入後表每個region可能會有幾個hfile檔案,從而可能需要做compaction動作。hbase根據引數設定觸發compaction操作,不過還是建議手動做compaction。

(10) 目前在6個節點集群上做過的測試,對於預設行格式載入效能約16mb/s,對於aligned format約21mb/s。

(1) 查詢hive裡面最長的字段並使用cqd hive_max_string_length 『』,這是乙個十分重要的設定。

(2) 如果表有更多的partition,那麼吞吐量會更好,因為每個hfile更小且需要排序的行更少(更多的排序並行執行)。增加cpu也是乙個不錯的選擇。

(3) 通過select 「salt」, count(*) from group by 1 order by 2;檢視資料傾斜,如果有資料傾斜,就需要考慮換乙個不同的salting key,因為傾斜嚴重影響資料載入效能 。資料載入的時候,可以通過rms監控傾斜問題。

(4) bulk load對錶的每個partition啟乙個esp程序,用來排序和寫資料,但讀取hive源資料的dop是可以配置的。預設每個節點分配兩個esp,可以通過cqd hive_num_esps_per_datanode 『』增加到4或6個。

(5) 載入的flush size可以通過cqd traf_load_flush_size_in_kb來配置,預設是1024=1m。如果集群有記憶體的話可以增加到10m。

(6) 如果表上面有索引,可以使用cqd traf_load_allow_risky_index_maintenance 『on』,前提條件是源資料與已載入的資料庫表資料沒有重複。

(7) 檢查scratch空間(影響排序)是否足夠。如果每個partition超過2g資料,整個表就有可能出現記憶體overflow(如果是預設的$my_sqroot/tmp)。這可以通過在ms.env中設定stfs_location修改(:作為分隔符表示多個路徑)。

(8) 目前在6個節點集群上做過的測試,對於預設行格式載入效能約80mb/s,對於aligned format約84mb/s。

效能優化之PHP優化

1.使用apache下的ab工具進行效能測試 測試 ab n100 c100 請求100次,併發量是100 關注兩個量 requests per second 每秒請求數 和time per request 平均響應時間 2.盡量使用php內建變數,常量,函式,原因 php 需要經過zend引擎獨行...

python 之效能優化

類似 os.linesep 這樣的名字需要直譯器做兩次查詢 1 查詢os 以確認它是乙個模組,2 在這個模組中查詢 linesep 變數。因為模組也是全域性變數,我們多消耗了系統資源。如 果你在乙個函式中類似這樣頻繁使用乙個屬性,我們建議你為該屬性取乙個本地變數別名。變 量查詢速度將會快很多 在查詢...

Android Studio之效能優化

使用android studio進行開,隨著專案的增大,依賴庫的增多,構建速度越來越慢,現在最慢要6分鐘才能build乙個release的安裝包,在網上查詢資料,發現可以通過一些配置可以加快速度,這裡跟大家分享一下。開啟gradle單獨的守護程序在下面的目錄下面建立gradle.properties...