溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

記一次MongoDB CPU飆升至99%問題的解決

發(fā)布時間:2020-06-23 08:39:24 來源:網(wǎng)絡(luò) 閱讀:2059 作者:天泣不死心 欄目:MongoDB數(shù)據(jù)庫

    公司業(yè)務(wù)調(diào)整,把一部分?jǐn)?shù)據(jù)由Redis轉(zhuǎn)至MongoDB,業(yè)務(wù)在測試環(huán)境正常,生產(chǎn)環(huán)境上線后發(fā)現(xiàn)壓力一上來MongoDB的服務(wù)直接把CPU占滿了,和開發(fā)的同學(xué)分析了一下也參考了一下百度上類似的問題,最后定位原因:未使用索引。

    解決方法很簡單:對應(yīng)的關(guān)鍵字段創(chuàng)建索引即可。

    參考命令如下: 

 >use Data;                                            #進入數(shù)據(jù)庫Data,注意區(qū)分大小寫;

>db.stats();                                 #查看數(shù)據(jù)庫的狀態(tài);

>db.getCollectionNames();         #查看所有表名;

 >db.dynamic.find().limit(5);        #查看dynamic表的前5條數(shù)據(jù);

 >db.dynamic.find().count();        #統(tǒng)計dynamic表總共有多少數(shù)據(jù);

>db.dynamic.getIndexes();        #查詢表dynamic的索引


#新建索引:對dynamic的score字段以backgroud方式建立索引

>db.dynamic.ensureIndex({score:1} , {backgroud:true});


#狀態(tài)查看:20秒,每秒更新一次

mongostat -h 80.81.2.3 -p 27017 --rowcount 20 1


    開始創(chuàng)建索引的字段沒找準(zhǔn),效果不明顯,后來對關(guān)鍵字段創(chuàng)建索引后CPU使用率斷崖式下跌

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI