NoSql之Mongodb日常操作命令整理-創(chuàng)新互聯(lián)

1、db.serverStatus()  看看分片性能信息

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供永勝網(wǎng)站建設(shè)、永勝做網(wǎng)站、永勝網(wǎng)站設(shè)計(jì)、永勝網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、永勝企業(yè)網(wǎng)站模板建站服務(wù),10年永勝做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

db.serverStatus().connections;分片查看客戶端連接數(shù),mongod和mongos的連接屬于長連接

      "connections" : {
          "current" : 737, --當(dāng)前活動連接量。連接到server的當(dāng)前活躍連接數(shù)目
          "available" : 82 --剩余空閑連接量。剩余的可用連接數(shù)目
      },

db.serverStatus().mem  查看分片內(nèi)存情況

 "mem" : {
          "bits" : 64, --64位機(jī)器
          "resident" : 18363, --占用物理內(nèi)存量。
          "virtual" : 478810, --占用的虛擬內(nèi)存量
          "supported" : true, --是否支持?jǐn)U展內(nèi)存
          "mapped" : 233311, --映射到內(nèi)存的數(shù)據(jù)文件大小,很接近于你的所有數(shù)據(jù)庫大小。
          "mappedWithJournal" : 466622,
          "note" : "virtual minus mapped is large. could indicate a memory leak"
      },

2、mongod 和mongos 登錄方式,注意管理數(shù)據(jù)庫要用mongo客戶端登錄管理

/usr/local/bin/mongo localhost:port

/usr/local/bin/mongo 10.20.25.48:10001

/usr/local/bin/mongo  10.20.25.48:27017/admin -uroot -p123456

3、查看集群中,個(gè)分片平均分布情況

 sh.status()

結(jié)果如下

        dbname.tablename

            shard key: { "_id" : "hashed" }

            chunks:

                s2    16

                s1    13

                s3    14

            too many chunks to print, use verbose if you want to force print

4、查看分片mongo性能

mongostat -h 10.20.25.48 --port 27017 -uroot -p123456  -n 100  20

mongostat是mongdb自帶的狀態(tài)檢測工具,在命令行下使用。它會間隔固定時(shí)間獲取mongodb的當(dāng)前運(yùn)行狀態(tài),并輸出。如果你發(fā)現(xiàn)數(shù)據(jù)庫突然變慢或者有其他問題的話,你第一手的操作就考慮采用mongostat來查看mongo的狀態(tài)。

mongostat命令格式,當(dāng)然也可以加參數(shù):

在第一個(gè)例子中,mongostat將返回?cái)?shù)據(jù)的每一秒,持續(xù)20秒。 mongostat收集數(shù)據(jù)的mongod實(shí)例上運(yùn)行的本地主機(jī)接口端口27017。以下所有調(diào)用產(chǎn)生相同的行為:

mongostat -rowcount 20 1

mongostat -rowcount 20

mongostat -N 20 1

mongostat -N 20

在下面的例子中,mongostat返回的數(shù)據(jù)每5分鐘(300秒),只要在程序運(yùn)行。 mongostat收集數(shù)據(jù)的mongod實(shí)例上運(yùn)行的本地主機(jī)接口端口27017。以下兩種調(diào)用產(chǎn)生相同的行為。

mongostat - rowcount 0 300

mongostat -N 0 300

mongostat 300

在下面的例子中,mongostat返回的數(shù)據(jù)每5分鐘一個(gè)小時(shí)(12次)。mongostat收集數(shù)據(jù)的mongod實(shí)例上運(yùn)行的本地主機(jī)接口端口27017。以下兩種調(diào)用產(chǎn)生相同的行為。

mongostat -rowcount 12 300

mongostat -N 12 300

在許多情況下,使用 -discover將幫助整組機(jī)器的狀態(tài),提供更完整的快照。如果Mongos的過程中,連接到一個(gè)片式集群上運(yùn)行在本地機(jī)器上的端口27017,你可以使用下面的形式從群集中的所有成員返回統(tǒng)計(jì):

mongostat -discover

以上參考文檔:http://cn.docs.mongodb.org/manual/reference/mongostat/

 主要詳細(xì)說明一下各列的意義(也可以參考./mongostat --help)

insert:   一秒內(nèi)的插入數(shù)

query :   一秒內(nèi)的查詢數(shù)

update:   一秒內(nèi)的更新數(shù)

delete:   一秒內(nèi)的刪除數(shù)

 10條簡單的查詢可能比一條復(fù)雜的查詢速度還快, 所以數(shù)值的大小,意義并不大。

 但至少可以知道,現(xiàn)在是否在處理查詢,是否在插入。

 如果是slave,數(shù)值前往往有一個(gè)*, 代表是replicate操作

getmore:   查詢時(shí)游標(biāo)(cursor)的getmore操作

 用處不大

  www.2cto.com

command:   一秒內(nèi)執(zhí)行的命令數(shù)

 比如批量插入,只認(rèn)為是一條命令。 意義不大。

 如果是slave,會顯示兩個(gè)值, local|replicated,通過這兩個(gè)數(shù)值的比較,或許可以看出點(diǎn)問題。

flushes:   一秒內(nèi)flush的次數(shù)

 一般都是0,或者1,通過計(jì)算兩個(gè)1之間的間隔時(shí)間,可以大致了解多長時(shí)間flush一次。

 flush開銷是很大的,如果頻繁的flush,可能就要找找原因了。

mapped:

vsize:

res:

 這個(gè)和你用top看到的一樣,mapped, vsize一般不會有大的變動, res會慢慢的上升,如果res經(jīng)常突然下降,去查查是否有別的程序狂吃內(nèi)存。

faults:

 別被這個(gè)名字嚇著,大壓力下這個(gè)數(shù)值往往不為0。如果經(jīng)常不為0,那就該加內(nèi)存了。

locked:

 MongoDB就一把讀寫鎖,這里指的是寫鎖所住的時(shí)間百分比。這個(gè)數(shù)值過大(經(jīng)常超過10%),那就是出狀況了。

idx miss:

 非常重要的參數(shù), 正常情況下,所有的查詢都應(yīng)該通過索引,也就是idx miss為0。如果這里數(shù)值較大,是不是缺少索引。

qr|qw: queue lengths for clients waiting (read|write)

ar|aw: active clients (read|write)

 如果這兩個(gè)數(shù)值很大,那么就是DB被堵住了,DB的處理速度不及請求速度。

 看看是否有開銷很大的慢查詢。如果查詢一切正常,確實(shí)是負(fù)載很大,就需要加機(jī)器了。

netIn: network traffic in - bits

netOut: network traffic out - bits

 網(wǎng)絡(luò)帶寬壓力,一般MongoDB,網(wǎng)絡(luò)不會成為瓶頸

conn: number of open connections

 MongoDB為每一個(gè)連接創(chuàng)建一個(gè)線程,線程的創(chuàng)建和釋放也是有開銷的。盡量不要讓這個(gè)數(shù)值很大。

repl: 服務(wù)器當(dāng)前狀態(tài)

  M  - master

  SEC - secondary

  REC - recovering

  UNK - unknown

  SLV - slave

time: 當(dāng)前時(shí)間

 如果在windows下的cmd窗口中執(zhí)行mongostat命令時(shí),可能由于窗口太窄,監(jiān)控?cái)?shù)據(jù)排列較亂而阻礙視覺的情況,大家可以把結(jié)果輸出到一個(gè)txt文件中,然后去查看這個(gè)文件,辦法是曲折了一些哈哈。

E:\mongodb-win32-x86_64-2.2.1\bin\mongostat -n 2 > E:\test.txt

 打印2行結(jié)果到E盤的跟目錄下的test.txt中。

5、查看mongo  TCP連接IP 排序

netstat -ant|awk '{print $5}' |awk -F: '{print $1}'|sort |uniq -c|sort -rn

6、mongo簡單分片備份

/home/mongodb/bin/mongodump  -h292.168.0.15:50001  -u username  -p 123456 --authenticationDatabase admin  -d dbname -o  /home/data/dbbackup/

7、db.status() 查看分片集群狀態(tài)

8、待續(xù)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁標(biāo)題:NoSql之Mongodb日常操作命令整理-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://muchs.cn/article46/dshchg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名小程序開發(fā)、網(wǎng)站內(nèi)鏈、品牌網(wǎng)站設(shè)計(jì)、營銷型網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)