京寵展信息指南
667
2022-05-29
MongoDB運維工具使用
1.MongoDB常用命令
mongo #登陸命令 mongod #啟動命令 mongodump #全備導出,壓縮格式 mongorestore #恢復 mongoexport #備份導出,可讀的json格式 mongoimport #恢復 mongos #集群分片 mongotop #查看mongo的運行狀態 mongostat #查看mongo的運行狀態
1
2
3
4
5
6
7
8
9
2.批量寫入mongodb數據觀察負載
> for(i=1;i<10000;i++){ db.hash.insert({"id":i,"name":"shenzheng","age":70,"date":new Date()})} WriteResult({ "nInserted" : 1 }) [mongo@mongodb-1 ~]$ mongotop
1
2
3
4
3.使用mongostat觀察負載
默認一秒打印一次
使用-n參數可以只打印一次
mongostat -n 1
[mongo@mongodb-1 ~]$ mongostat insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time *0 *0 *0 *0 0 2|0 0.0% 0.8% 0 995M 60.0M 0|0 1|0 158b 66.2k 5 Feb 13 23:00:39.404 *0 *0 *0 *0 0 2|0 0.0% 0.8% 0 995M 60.0M 0|0 1|0 158b 65.9k 5 Feb 13 23:00:40.404 *0 *0 *0 *0 0 2|0 0.0% 0.8% 0 995M 60.0M 0|0 1|0 215b 66.1k 5 Feb 13 23:00:41.405 *0 *0 *0 *0 0 2|0 0.0% 0.8% 0 995M 60.0M 0|0 1|0 158b 66.0k 5 Feb 13 23:00:42.403
1
2
3
4
5
6
7
mongostat字段解釋
insert/s : 官方解釋是每秒插入數據庫的對象數量,如果是slave,則數值前有*,則表示復制集操作 query/s : 每秒的查詢操作次數 update/s : 每秒的更新操作次數 delete/s : 每秒的刪除操作次數 getmore/s: 每秒查詢cursor(游標)時的getmore操作數 command: 每秒執行的命令數,在主從系統中會顯示兩個值(例如 3|0),分表代表 本地|復制 命令 注: 一秒內執行的命令數比如批量插入,只認為是一條命令(所以意義應該不大) dirty: 僅僅針對WiredTiger引擎,官網解釋是臟數據字節的緩存百分比 used:僅僅針對WiredTiger引擎,官網解釋是正在使用中的緩存百分比 flushes: For WiredTiger引擎:指checkpoint的觸發次數在一個輪詢間隔期間 For MMAPv1 引擎:每秒執行fsync將數據寫入硬盤的次數 注:一般都是0,間斷性會是1, 通過計算兩個1之間的間隔時間,可以大致了解多長時間flush一次。flush開銷是很大的,如果頻繁的flush,可能就要找找原因了 vsize: 虛擬內存使用量,單位MB (這是 在mongostat 最后一次調用的總數據) res: 物理內存使用量,單位MB (這是 在mongostat 最后一次調用的總數據) 注:這個和你用top看到的一樣, vsize一般不會有大的變動, res會慢慢的上升,如果res經常突然下降,去查查是否有別的程序狂吃內存。 qr: 客戶端等待從MongoDB實例讀數據的隊列長度 qw:客戶端等待從MongoDB實例寫入數據的隊列長度 ar: 執行讀操作的活躍客戶端數量 aw: 執行寫操作的活客戶端數量 注:如果這兩個數值很大,那么就是DB被堵住了,DB的處理速度不及請求速度。看看是否有開銷很大的慢查詢。如果查詢一切正常,確實是負載很大,就需要加機器了 netIn:MongoDB實例的網絡進流量 netOut:MongoDB實例的網絡出流量 注:此兩項字段表名網絡帶寬壓力,一般情況下,不會成為瓶頸 conn: 打開連接的總數,是qr,qw,ar,aw的總和 注:MongoDB為每一個連接創建一個線程,線程的創建與釋放也會有開銷,所以盡量要適當配置連接數的啟動參數,maxIncomingConnections,阿里工程師建議在5000以下,基本滿足多數場景
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
MongoDB 數據庫 運維
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。