原創 2023年11月20日 16:01:13
hive優化:
1、開啟limit,防止過多的資料查詢造成時延
2、開啟嚴格模式,禁止三種模式的查詢(查詢全部分割槽而沒有where限制、使用order by查詢而沒有limit限制,表聯結使用on以限制笛卡兒積的查詢)
3、合理的設定map reduce的個數,不能過多或者過少
4、使用本地模式,對於一些資料量小的查詢,減少開啟job的時間
5、使用map端jion,將資料量小的表,放在join的左邊,直接加入記憶體
6、推測執行,這是對mr的優化,防止出現木桶效應
7、設定並行度,讓一些不相關的stage能夠並行執行,加速任務的完成
8、jvm重用,通過在配置檔案中設定一些引數,來配置某些task的stage重用jvm,減少任務的開啟時間
9、建立索引,加快查詢
10、調整動態分割槽的數量,盡量高,不能太高,1000個左右最好
11、設定中間和reduce結果進行壓縮,減少占用空間
hbase優化:
1、hbase查詢優化
1> 設定scan快取,定義服務端到客戶端的資料條數2、hbase寫入優化2> 顯示指定查詢列,避免太多的資料傳輸造成網路壓力
3 >設定過濾,只查詢需要的資料,比如行鍵
4 >使用htablepool,解決htable執行緒不安全的情況
5 >關閉resultscanner,保證連線不會一直占用
1 >關閉wal,避免每次寫入資料都要先寫入日誌檔案3、hbase配置引數優化2 >關閉autoflush,避免使用者每次提交資料都直接傳送到了伺服器端,可以在客戶端進行快取
3 >預建立region,使用自帶的分割槽工具或者自定義分割槽演算法都行
4 >延遲日誌flush的時間,預設值為1秒,可以增大該值,將資料在記憶體中少留一會,較少wal日誌到hdfs的次數
5 >使用批量寫,通過put方法,指定多個行鍵,批量寫入
1 >設定regionserver的handler數量,預設為10,適當的增大,可以提高服務端同時接收請求的執行緒數量,一般為10 的整數倍4、表設計優化2 >合理的設定memstore的上下限
3 >調整影響合併的檔案數,就是調整觸發storefile進行合併的檔案數量
4 >合理的設定memstore的flush因子,也就是觸發memstore進行flush的記憶體大小
5 >調整zookeeper的會話時間,避免hmaster察覺某個rs宕機的時間太長
1 >開啟布隆過濾器2 >調整列簇塊的大小,也就是hfile的大小
3 >設定列簇的最大版本數,避免一些更新非常頻繁的應用效率低下
4 >設定ttl,讓過期的資料自動刪除
5 >設定in memory屬性,就放在in memory佇列中
一些調優引數
select sum pins reloads sum pins lib cache from v librarycache 查詢sql 分析解析率,大於90 說明sql解析正常,無需更改,至於更改方法,研究中 select sum gets getmisses sum gets hit from ...
WAS的一些重要調優引數
在著手進行 應用程式 伺服器的優化之前,首先進行 應用程式和操作 系統的優化是乙個更好的選擇。尤其是應用程式的優化,通過對應用程式中影響 效能的部分進行重新的設計和調整,往往能夠帶來比單純的引數調優更為巨大的效能提公升。對於一般的j2ee應用程式而言,was中最重要的優化引數包括針對jvm web ...
mysql調優的一些方面
1.首先的一點就是可以做乙個mysql集群實現讀寫分離 2.查詢sql慢日誌,給一些表做索引 3.調整mysql引數 設定合理的key buffer size,它是指索引緩衝區的大小,決定了索引的處理速度。大概的分配為1g設定128m,2g為256m,依此類推。檢視key buffer size的值...