mongostat查看mongodb運行狀態使用命令介紹


mongostat是mongodb自帶的一個用來查看mongodb運行狀態的工具
使用說明
mongostat -h 127.0.0.1:12345
 
字段說明
啟用后的狀況是這樣的
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
*0 *0 *0 *0 0 1|0 0.0% 0.0% 0 3.11G 34.0M 0|0 1|0 157b 57.1k 1 Aug 11 07:59:21.760
*0 *0 *0 *0 0 2|0 0.0% 0.0% 0 3.11G 34.0M 0|0 1|0 158b 57.1k 1 Aug 11 07:59:22.760
*0 *0 *0 *0 0 1|0 0.0% 0.0% 0 3.11G 34.0M 0|0 1|0 157b 57.0k 1 Aug 11 07:59:23.761
*0 *0 *0 *0 0 1|0 0.0% 0.0% 0 3.11G 34.0M 0|0 1|0 157b 57.1k 1 Aug 11 07:59:24.762
*0 *0 *0 *0 0 1|0 0.0% 0.0% 0 3.11G 34.0M 0|0 1|0 157b 57.0k 1 Aug 11 07:59:25.764
*0 *0 *0 *0 0 1|0 0.0% 0.0% 0 3.11G 34.0M 0|0 1|0 157b 57.1k 1 Aug 11 07:59:26.764
*0 *0 *0 *0 0 1|0 0.0% 0.0% 0 3.11G 34.0M 0|0 1|0 157b 57.1k 1 Aug 11 07:59:27.764
*0 *0 *0 *0 0 2|0 0.0% 0.0% 1 3.11G 34.0M 0|0 1|0 159b 57.5k 1 Aug 11 07:59:28.757
inserts:當前mongodb插入數量
query:當前mongodb的查詢數量,數量以每秒為單位
update:當前mongodb的更新數量
delete:當前mongodb的刪除數量
getmore:在進行mongodb查詢時,每次並不是返回所有的數據,比如要一次查詢一百萬條,每次只會返回一定量的數據,當每次find的時候,getmore用來獲取以后的數據
command:執行命令的數量
flushes:在mongodb寫入數據,查詢數據時,我們看到的數據是在內存中,實際上並不是在內存中,有些是在硬盤上的,每個一段時間,mongodb會把內存數據刷到硬盤上,flushes就是看mongodb隔多久往磁盤上刷一次
mapped,vsize,res:mongodb所占據到磁盤空間大小和申請的內存大小
faults:如果數據沒有加塞到內存中,需要到硬盤上讀取
locked:鎖的情況
ids miss:表明當前查詢沒有使用索引的情況
qr|qw:在寫入或讀取數據時,並不是來個請求就處理,而是放到隊列中,如果請求比較多,或者mongodb處理比較慢,這樣qr,qw比較高,一般到qr,qw比較高時,比如幾百上千,mongodb的性能會出現明顯的下降
ar|aw:當前活躍的客戶端的數目
netIn,netOut:mongodb使用網卡的輸入流量
conn:連接到mongodb到連接數量
 
 
使用mongostat效果驗證
> for(i=0; i<100000; i++) db.imooc_2.insert({x:i})
WriteResult({ "nInserted" : 1 })
插入十萬條數據,同時另起一個窗口,查看mongostat狀態
./bin/mongostat -h 127.0.0.1:12345
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
2312 *0 *0 *0 0 2|0 0.4% 0.5% 0 3.13G 31.0M 0|0 1|0 273k 162k 3 Aug 12 07:12:33.009
2283 *0 *0 *0 0 1|0 0.4% 0.5% 0 3.13G 32.0M 0|0 1|0 270k 160k 3 Aug 12 07:12:34.010
2341 *0 *0 *0 0 1|0 0.4% 0.5% 0 3.13G 32.0M 0|0 1|0 276k 163k 3 Aug 12 07:12:35.010
2432 *0 *0 *0 0 2|0 0.4% 0.5% 0 3.13G 32.0M 0|0 1|1 287k 167k 3 Aug 12 07:12:36.010
2358 *0 *0 *0 0 2|0 0.4% 0.5% 0 3.13G 33.0M 0|0 1|0 279k 163k 3 Aug 12 07:12:37.009
2215 *0 *0 *0 0 1|0 0.4% 0.6% 0 3.13G 33.0M 0|0 1|0 262k 157k 3 Aug 12 07:12:38.009
2362 *0 *0 *0 0 1|0 0.4% 0.6% 0 3.13G 34.0M 0|0 1|0 279k 164k 3 Aug 12 07:12:39.010
可以看到insert,正在以每秒兩千多的速度插入數據

在實際使用中,根據情況的不同,都會不同對應都值,一般來說,對於性能,我們比較關心的是,qr,讀隊列,如果讀隊列比較多,說明系統的讀請求負載比較高,會出現比較嚴重的性能問題,qw,寫隊列,這兩個一般能直觀的反應系統的性能狀況,如果他們的數字大幅度提高,mongodb會立刻遇到問題

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM