MongoDB 分片叢集均衡器導致的效能下降
近期,有人反饋其mongodb分片叢集,在載入處理大批次資料時,程式處理十分緩慢並且應用還會報錯: version mismatch detected for 。 現將分析彙總如下備用。
一、問題現象
負責同事反饋9月1日18:52分左右,應用報錯version mismatch detected for。
二、問題分析
--mongodb為4.2.15的三分片叢集且叢集均衡器為啟用狀態
--觀察叢集報錯前後的mongod日誌發現,9月1號18:48分叢集在頻繁的moveChunk
--叢集在頻繁的moveChunk消耗的時間比較長
--9月1日18:55分mongod日誌才提示end of migration,應用報錯叢集正在moveChunk操作
由以上日誌可知,是應用大批次載入資料,導致叢集均衡器分裂chunk並執行遷移,磁碟IO效能低下不能支援mongod快速資料遷移和metadata重新整理, 引起應用查詢不到最新的資料而報錯。
三、 問題處理
a、提高磁碟效能,更換SSD盤
b、業務高峰期臨時關閉叢集均衡器
在mongos節點命令視窗中,切換至 config 資料庫
use config;
執行如下命令檢視Balancer執行狀態,如返回值為空則均衡器空閒
while( sh.isBalancerRunning() ) {
print("waiting...");
sleep(1000);
}
確認執行命令後返回的值為空,可執行關閉Balancer命令
sh.stopBalancer()
c、臨時處理方法重新整理路由器(業務高峰期有風險)
use config;
db.adminCommand({_flushRoutingTableCacheUpdates: ns, syncFromConfig: true})
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29357786/viewspace-2921200/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mongodb 分片叢集建立分片集合MongoDB
- MongoDB分片叢集新增分片(自用)MongoDB
- MongoDB 分片叢集搭建MongoDB
- MongoDB叢集之分片MongoDB
- 搭建MongoDB分片叢集MongoDB
- MongoDB分片叢集chunk的概念MongoDB
- mongodb 分片叢集設定MongoDB
- MongoDB分片叢集常用操作MongoDB
- mongodb副本叢集和分片叢集佈署MongoDB
- mongodb的分散式叢集(3、分片)MongoDB分散式
- 高可用mongodb叢集(分片+副本)MongoDB
- MongoDB Sharding(二) -- 搭建分片叢集MongoDB
- Mongodb分散式叢集副本集+分片MongoDB分散式
- 搭建高可用MongoDB叢集(四):分片MongoDB
- MongoDB分片儲存的叢集架構實現MongoDB架構
- linux下Mongodb叢集搭建:分片+副本集LinuxMongoDB
- 【MongoDB】分片(sharding)+副本集(replSet)叢集搭建MongoDB
- Mongodb副本集+分片叢集環境部署記錄MongoDB
- MongoDB健壯叢集——用副本集做分片MongoDB
- MongoDB 副本集分片叢集一分片config庫主機斷電導致該分片config庫無法啟動MongoDB
- mongoDB研究筆記:分片叢集的工作機制MongoDB筆記
- 搭建 MongoDB分片(sharding) / 分割槽 / 叢集環境MongoDB
- MongoDB叢集設定集合分片生效及檢視集合分片情況MongoDB
- MongoDB 4.2分片叢集搭建及與3.4分片叢集搭建時的一些異同MongoDB
- MongoDB Driver:使用正確的姿勢連線分片叢集MongoDB
- 分片叢集元件元件
- 部署分片叢集
- Mongodb主從複製/ 副本集/分片叢集介紹MongoDB
- Nagios監控mongodb分片叢集服務實戰iOSMongoDB
- Redis叢集 - cluster叢集、資料分片Redis
- 分散式文件儲存資料庫之MongoDB分片叢集分散式資料庫MongoDB
- MongoDB分片叢集節點狀態stateStr:RECOVERING解決MongoDB
- 【Mongodb】分片複製集環境新增新的分片MongoDB
- 【Mongodb】分片加複製集MongoDB
- mongoDB研究筆記:分片叢集部署MongoDB筆記
- redis叢集之分片叢集的原理和常用代理環境部署Redis
- 【案例】BNL演算法導致效能下降一則演算法
- MongoDB叢集同步MongoDB