您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關MONGODB serverStatus對監控的意義是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
最近聽到一些對MONGODB的理解的歧義,認為MONGODB 數據庫內容比較少,并沒有一些值得深入研究,誠然對比不少數據庫MONGODB看似是簡單的,但任何一門技術都有他的特殊性,如果只是表面皮毛的利用和使用,或許也沒有什么問題,可遇到問題后,如何解決就成了問題, 是做扁鵲 還是扁鵲的哥哥們,或者是一個庸醫,都在你自己的一念之差.
對于MONGODB 的監控,獲取有用的信息 serverStatus 是非常有意義
對于大批量的MONGODB 其實我們要管理,就需要對MONGODB 系統的狀態信息進行收集.
例如我們去查看斷言的asserts 其中例如 warning , user 數量的變化,在有明顯的某段時間的增量后,就需要對mongodb的日志進行觀察,查詢了.
同時對于MONGODB 連接的信息的統計,活躍連接,可繼續分配的連接數等信息.
在這些基礎的信息后,我們更關注的是性能方面的信息,例如鎖,MONGODB 雖然是NOSQL 數據庫但實際上也會存在鎖有關的情況, 尤其在新版本后支持多文檔事務的這樣的情況
mongdb 中可以查看db.serverStatus() 中的 globalLock 時間,如果total有數字,則說明已經有鎖征用,多個資源等待鎖,如果數字持續上升的情況下. 如果要更細的分析,則可以分析是readers 或者 writers 那個方面產生了相關的征用的等待.
db.serverStatus().locks中可以獲得database ,oplog ,以及 collection的locks 這里可以關注相關的collection 的數字的變動,如果有浮動有變化可以關注相關的collection 鎖的增加的情況.
從另一個方面也說明在設計MONGODB 的schema的時候,有設計需要進行調整和更改的可能.
其中serverStatus中有一大塊是涉及wiredTiger的, MMAPv1存儲引擎已經不在是MONGODB 的重點或未來將被取消,則我們在注意MONGODB的內存的問題,則需要關注 writedTiger Cache 中的內容,
例如: bytes currently in the cache 和 bytes dirty in the cache cumulative 這兩個值的對比可以看出,到底與上期說的checkpoint調整的是否需要,如果長時間臟數據占比都比較高的情況下,的確是要考慮相關的
調整.
例如如果統計每秒的operation 的操作,與執行的命令之間的關系,就需要下面兩個參數從db.serverStatus 中提取
如果覺得某項技術簡單,實際上是沒有入門, 知識要想深入,總有越學越覺得自己不會的感覺, 例如wiretiger 數據庫引擎是 b+tree 還是 lsm樹的存儲方式,其實兩者都可以作為mongodb collection的存儲方式, 那么后面的問題是那種效率更高,那種情況要使用那種存儲方式等等, 所以問我你會某項技術嗎,有時真不敢說 會.
看完上述內容,你們對MONGODB serverStatus對監控的意義是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。