一、概述
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的尋烏網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!mongodb副本集維護主要工作:
1、查看副本集狀態(tài)(集群狀態(tài)、同步延遲、單個庫的運行狀態(tài)mongostate)
2、增刪節(jié)點、停節(jié)點shutdown
mongodb副本集集群同步機制
數(shù)據(jù)復(fù)制的目的是使數(shù)據(jù)得到大的可用性,冗余,避免單點故障。
副本集中同一時刻只有一臺服務(wù)器是可以寫的,primary主庫上寫,從庫同步數(shù)據(jù)
副本集主從復(fù)制也是異步同步的過程。slave從primary上獲取日志,然后在自己身上完全順序的執(zhí)行日志記錄的操作(該日志不記錄查詢操作,只記錄更新操作)。被同步的日志就是local庫中的oplog.rs表,這個表占空間比較大,磁盤大小5%。啟動參數(shù)設(shè)置oplog.rs的大?。?-oplogSize 1000,單位M。生產(chǎn)環(huán)境中建議設(shè)置大一些,防止無法同步情況發(fā)生。
二、查看集群狀態(tài)
1.rs.status()
2.db.printSlaveReplicationInfo()
查看主從數(shù)據(jù)庫延遲時間
3.mongodb監(jiān)控工具- mongostat
3.1 如果發(fā)現(xiàn)DB突然變慢或者有其他問題,首先mongostat查看狀態(tài)
mongostat -uxx -pyy -rowcount 12 300 mongostat -uxx -pyy -N 12 300 ##每300秒輸出一次DB狀態(tài),共輸出12次3.2 輸出參數(shù)說明
inserts/s 每秒插入次數(shù)
query/s 每秒查詢次數(shù)
update/s 每秒更新次數(shù)
delete/s 每秒刪除次數(shù)
getmore/s 每秒執(zhí)行g(shù)etmore次數(shù),查詢時游標(cursor)的getmore操作,用處不大
command/s 每秒命令數(shù),比以上插入、查找、更新、刪除的綜合還多,還包含了別的命令。比如批量插入,只認為一條命令,意義不大。
flushes/s 每秒執(zhí)行fsync,將數(shù)據(jù)寫入磁盤的次數(shù)。一般都是0,刷如磁盤時是1,可以通過兩個1之間的間隔時間,判斷多久刷新一次數(shù)據(jù)到磁盤。flush開銷很大,如股票頻繁刷新,可能有問題。
mapped/s 所有的被nmap的數(shù)據(jù)量,單位是MB
vsize 虛擬內(nèi)存使用量,單位MB
res 物理內(nèi)存使用量,單位MB。這個和top看到的狀態(tài)一樣,mapped/vsize一般不會有大變動,res會慢慢上升,如果res經(jīng)常突然下降,查查是不是有別的程序狂吃內(nèi)存。
faults/s 每秒訪問失敗數(shù)(只有l(wèi)inux有),數(shù)據(jù)被交換出物理內(nèi)存,放入swap,如果經(jīng)常不為0,就是服務(wù)器內(nèi)存太小,造成頻繁swap寫入,此時要加大內(nèi)存。
locked db % 被鎖的時間百分比,盡量控制在50%以下。這個值過大(經(jīng)常超過10%,可能出問題)
idx miss % 非常重要的參數(shù),索引不命中所占百分比。正常情況下,查詢都應(yīng)該通過索引,也就是idx miss為0,如果太高的話就是索引太少了
qr|qw queue lengths for clients waiting (read|write)客戶端過來的讀寫請求的長度。
ar|aw active clients(read|write)活躍的客戶端過來的讀寫請求。即總共的讀寫請求。
PS:當mongdb接收太多命令,而數(shù)據(jù)庫被鎖住無法執(zhí)行完成,就會將命令加入到隊列。都為0,表示mongodb毫無壓力,高并發(fā)時,隊列值會升高,表示DB的處理速度不及請求速度。看下是否有開銷很大的慢查詢。如果查詢一切正常,確實負載很大,則考慮加服務(wù)器了。
net In/Out 網(wǎng)絡(luò)帶寬壓力,一般網(wǎng)絡(luò)不會成為mongdb瓶頸。
conn 當前連接數(shù)
set 副本集集群名稱
repl 當前庫在集群中的狀態(tài)。PRI-master,SEC-second,REC-recovering,UNK-unkown
time 時間戳
4.web控制臺
mongodb自帶web控制臺,默認和數(shù)據(jù)服務(wù)一起開啟。默認端口28017(數(shù)據(jù)端口27017基礎(chǔ)上+1000)
狀態(tài)頁顯示信息:
4.1 當前db的所有連接
4.2 各個數(shù)據(jù)庫dbs和collection的訪問統(tǒng)計,包括reads/writes/queries/getmores/inserts/updates/removes
4.3 寫鎖的狀態(tài)
4.4 日志文件的最后幾百行
4.5 最上面兩行,mongodb狀態(tài)查詢的其他命令
5.獲取mongodb當前正在執(zhí)行的操作db.currentOp()
>db.currentOp() >{ "opid" : "shard3:466404288", "active" : false, "waitingForLock" : false, "op" : "query", "ns" : "sd.usersEmails", "query" : { }, "client_s" : "10.121.13.8:34473", "desc" : "conn" }5.1 殺死執(zhí)行時間過長的命令
>db.killOp("shard3:466404288")6.MongoDB監(jiān)控服務(wù)MongoDB Monitoring Service(MMS)
mongodb廠商提供的監(jiān)控服務(wù),可在網(wǎng)頁和Andriod客戶端查看
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。