<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 41  文章 - 7  trackbacks - 0
    <2017年6月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    serverStatus.pdf
    原文:
    https://docs.mongodb.com/v3.0/reference/command/serverStatus/
    定義
    serverStatus
    serverStatus命令用于返回數據庫進程狀態的概述文檔. 大部分監控程序都會定期運行此命令來收集實例相關的統計信息:
    { serverStatus: 1 }
    其值(即上面的1)不影響命令的操作。
    2.4版本中修改: 在2.4中, 你可以下面的示例一樣,動態地抑制serverStatus的輸出部分, 或通過向command文檔添加字段來包含抑制部分:
    db.runCommand( { serverStatus: 1, repl: 0 } ) db.runCommand( { serverStatus: 1, metrics: 0, locks: 0 } ) serverStatus會默認包含除rangeDeleter和repl文檔中某些內容外的所有字段。
    注意
    您只能動態地包含默認情況下serverStatus文檔中未包含的頂級字段。
    當然您也可以排除serverStatus默認包含的任何字段。
    也可參考
    db.serverStatus()
    輸出
    serverStatus命令反映的是數據庫狀態的信息集合。這些數據對于診斷和評估MongoDB實例的性能是非常有用的.
    3.0版本中修改: 服務器狀態輸出報告中不再包含workingSetindexCounters, recordStats部分.
    有關serverStatus的輸出示例,參考Server Status Output.
    也可參考
    serverStatus的大部分輸出也可通過mongostat來動態顯示。 更多信息請參閱mongostat命令。
    Instance信息
    有關實例信息的示例,可參考Server狀態輸出頁面的實例信息部分 .
    serverStatus.host
    host字段表示系統的主機名稱.在Unix/Linux系統中,等同于hostname命令輸出.
    serverStatus.version
    version字段包含了當前mongod或mongos實例上運行的MongoDB版本。
    serverStatus.process
    process字段用于標識當前運行的MongoDB實例的類別.可能值為:
    serverStatus.uptime
    uptime字段值表示mongosmongod進程已激活或已持續運行的秒數.
    serverStatus.uptimeEstimate
    uptimeEstimate提供了由MongoDB內部粗粒度計時系統計算出的正常運行時間.
    serverStatus.localTime
    localTime值用以表示服務器的當前UTC時間(ISODate格式表示)。
    locks
    有關locksr的輸出示例,可參考Server Status Output頁面的locks section .
    serverStatus.locks
    3.0版本中修改.
    locks文檔中含有針對每種鎖類型、模式提供細粒度報告的內嵌文檔.
    可能的鎖類型如下所示:
    • Global 代表的是全局鎖.
    • MMAPV1Journal 代表MMAPv1存儲引擎所特有的鎖類型(用于同步journal寫入);對于非MMAPv1存儲引擎s, MMAPV1Journal的模式是空的
    • Database代表的是數據庫鎖.
    • Collection代表的是集合鎖.
    • Metadata代表的是元數據鎖.
    • oplog代表的是oplog上的鎖.
    可能的鎖模式如下:
    • R 代表Shared (S) lock(共享鎖).
    • W代表Exclusive (X) lock(獨占鎖).
    • r代表Intent Shared (IS) lock.
    • w代表Intent Exclusive (IX) lock.
    所有值的類型都是NumberLong().
    serverStatus.locks.acquireCount
    用以表示特定模式下獲取鎖的次數。
    serverStatus.locks.acquireWaitCount
    因鎖沖突而等待鎖的次數.
    serverStatus.locks.timeAcquiringMicros
    獲取鎖時累計等待的時間(單位:毫秒).
    timeAcquiringMicros除以acquireWaitCount就可得到特定鎖模式下的平均等待時間.
    serverStatus.locks.deadlockCount
    獲取鎖時遇到死鎖的次數.
    globalLock
    有關globalLock輸出的示例,可查看Server Status Output頁面的globalLock section.
    serverStatus.globalLock
    globalLock數據結構包含有關數據庫當前鎖狀態,歷史鎖狀態,當前操作隊列,以及活動客戶端數量等信息.
    serverStatus.globalLock.totalTime
    totalTime值表示自數據庫最后一次啟動并創建globalLock的時間(單位:微秒).這大致相當于服務器總正常運行時間。
    serverStatus.globalLock.currentQueue
    currentQueue數據結構值提供了因鎖而造成操作排隊數量的有關信息.
    serverStatus.globalLock.currentQueue.total
    total值提供了因等待鎖而造成操作排隊的總數.
    不需要關注那些小隊列,尤其是很短的操作.
    但應該留意等待讀鎖(即readers)和寫鎖(即writers)的隊列大小.
    serverStatus.globalLock.currentQueue.readers
    readers值表示當前正在等待讀鎖而排隊的操作數量. 不需要關注那么較小的讀取隊列,尤其是很短的操作。
    serverStatus.globalLock.currentQueue.writers
    writers值表示當前正在等待寫鎖而排隊的操作數量. 不需要關注那么較小的寫隊列,尤其是很短的操作。
    globalLock.activeClients
    serverStatus.globalLock.activeClients
    activeClients數據結構提供了有關已連接客戶端數量的信息,以及它們執行的操作類型(例如讀取或寫入)的詳細信息。使用此數據可為currentQueue數據提供上下文.
    serverStatus.globalLock.activeClients.total
    total的值表示當前已連接到數據庫的活動客戶端總個數. 它包含了那些正在執行讀操作(即readers)和寫操作(即writers)的客戶端總數.
    serverStatus.globalLock.activeClients.readers
    readers值表示執行讀操作的活動客戶端連接總數。
    serverStatus.globalLock.activeClients.writers
    writers值表示執行寫操作的活動客戶端連接總數。
    mem
    有關mem的輸出示例,可參考Server Status Output 頁面的mem section.
    serverStatus.mem
    mem數據結構提供了有關mongod目標系統架構以及當前內存使用情況等信息
    serverStatus.mem.bits
    bits值64或32, 具體取決于在mongod編譯過程中指定的目標架構.多數情況下,此值為64,且此值不隨時間改變.
    serverStatus.mem.resident
    resident值大致等同于當前數據庫進程消耗的內存(RAM)數值,單位MB. 正常情況下此值往往會增長.
    在專用數據庫服務器中,這個數字往往會接近系統的內存總量。
    serverStatus.mem.virtual
    virtual值表示當前mongod進程消耗的虛擬內存總量,單位MB. 在啟用了journaling時, 此值至少是mapped值的兩倍.如果virtual值明顯高于mapped值 (如,是其3倍或更高),則表示存在內存泄露.
    serverStatus.mem.supported
    supported為true,則表明底層系統支持擴展內存,反之,則底層系統不支持擴展內存,在這種情況下,數據庫服務也不能訪問其它mem值.
    serverStatus.mem.mapped
    mapped表示數據庫使用的映射內存數量,單位MB. 由于MongoDB使用的是內存映射文件,因此其值 大致上等同于數據庫的總大小.
    serverStatus.mem.mappedWithJournal
    mappedWithJournal表示數據庫使用的映射內存,同時也包含日志消耗內存的總量,單位MB.
    此值通常是mapped值的兩倍. 只在啟用了日志時,才會包含此字段.
    serverStatus.mem.note
    僅在supported為false時,才會出現note字段.note字段會包含這樣的文本"not all mem infosupport on this platform".
    connections
    有關connections的輸出示例,可參考Server Status Output 頁面的connections section.
    serverStatus.connections
    connections的子文檔提供了有關入站連接的當前狀態,以及數據庫可用連接等信息.
    可使用這些值來評估服務器當前的負載和容量需求。
    serverStatus.connections.current
    current表示連接到數據庫服務器的客戶端數目. 此數字也包含了當前shell會話連接.可考慮available的值以為此基準提供更多上下文參考。這數值包含了所有入站連接:包括所有shell連接或來自其它服務器(如復制集成員或mongos實例)的連接.
    serverStatus.connections.available
    available表示數據庫可提供的未使用且可用的入站連接數目. 可將此值與current值結合起來理解數據庫的連接負載,并查看UNIX ulimit Settings 文檔來了解系統可用連接閥值的更多信息.
    serverStatus.connections.totalCreated
    totalCreated表示服務器創建的所有入站連接總數.此數字包含已經關閉的連接數目.
    extra_info
    有關extra_info的輸出示例,可參考Server Status Output 頁面的extra_info section.
    serverStatus.extra_info
    extra_info數據結構提供了由mongod實例收集的有關底層系統信息的數據. 您的系統有可能只會報告以下字段的子集.
    serverStatus.extra_info.note
    note字段會根據底層平臺來報告數據,并具有文本: “fields vary by platform.”
    serverStatus.extra_info.heap_usage_bytes
    heap_usage_bytes字段只在Unix/Linux系統可用,且會報告數據庫進程所消耗的堆空間字節.
    serverStatus.extra_info.page_faults
    page_faults用于報告需要磁盤操作的頁面錯誤總數. 頁面錯誤指的是數據庫服務器需要訪問內存中不可用數據的操作. page_faults計數器會在性能不佳時顯著增長,其原因可能與有限的內存環境,以及較大的數據集有關. 有限的零星頁面錯誤不代表系統出了問題.
    Windows系統描述了硬頁面錯誤(通過磁盤IO來移動頁面)與軟頁面錯誤(通過在內存中移動頁面)的區別,但MongoDB會統計所有硬頁面和軟頁面錯誤.
    backgroundFlushing
    注意
    backgroundFlushing信息只會出現在那些使用了MMAPv1存儲引擎的實例中.
    有關backgroundFlushing的輸出示例, 參考Server Status Output頁面的backgroundFlushing section.
    serverStatus.backgroundFlushing
    mongod會周期地將寫入數據刷新至磁盤(在默認配置中,間隔周期為60秒),而backgroundFlushing數據結構就包含了與這些操作相關的數據. 如果您對寫入性能和日志有疑慮,那么可以參考這些值.
    serverStatus.backgroundFlushing.flushes
    flushes是一個計數器,用于收集數據庫刷新所有寫入至磁盤的次數.
    此值會隨著數據庫運行周期的加長而不斷增長.
    serverStatus.backgroundFlushing.total_ms
    total_ms值表示mongod進程花在刷新寫入至磁盤的總時間,單位毫秒.
    由于此值是一個絕對值,因此可參考flushes和average_ms值以提供更好的上下文參考.
    serverStatus.backgroundFlushing.average_ms
    average_ms值描述了總刷新(即flushes值)次數與總刷新時間(即total_ms值)的比例關系.
    flushes值越大越能代表正常時間,但異常數據可能會歪曲此值.可使用last_ms來確保高平均值不會被瞬態歷史問題或隨機寫入分配所扭曲.
    serverStatus.backgroundFlushing.last_ms
    last_ms字段代表的是完成最后一次刷新操作的時間,單位毫秒. 可使用此值來驗證服務器的當前性能是否與average_mstotal_ms提供的歷史數據一致.
    serverStatus.backgroundFlushing.last_finished
    last_finished字段表示最后一次完成刷新操作的時間戳(格式為ISODate.如果此值相對服務器時間超過了數分鐘,那么重啟數據庫可能會造成數據丟失.此外運行中的常規阻塞寫入操作也可能歪曲此值。
    cursors
    2.6中已廢棄: 另請參考serverStatus.metrics.cursor字段.
    有關cursors輸出, 可參考Server Status Output 頁面的cursors section.
    serverStatus.cursors
    cursors 數據結構提供了有關游標狀態及其使用等信息.
    serverStatus.cursors.note
    note用于指定使用serverStatus.metrics.cursor字段來代替serverStatus.cursors.
    serverStatus.cursors.totalOpen
    totalOpen表示MongoDB為客戶端維護的游標數量. 由于MongoDB會釋放未使用的游標,所以通常此值會很小. 然而,如果隊列中存在過期的tailable cursor或存在大量操作時,此值會增長.
    serverStatus.cursors.clientCursors_size
    自1.x版本已廢棄: 另請參考totalOpen
    serverStatus.cursors.timedOut
    timedOut表示自服務器進程啟動以來,已超時的游標總數.如果此值很大或按固定頻率增長,那么通常表示應用程序存在錯誤.
    serverStatus.cursors.totalNoTimeout
    totalNoTimeout表示設置了DBQuery.Option.noTimeout選項(在某段時間內不活躍時,阻止其超時)后,打開的游標個數.
    serverStatus.cursors.pinned
    serverStatus.cursors.pinned表示固定打開游標的個數.
    network
    有關network的輸出示例,參考Server Status Output 頁面的network section.
    serverStatus.network
    network數據提供了有關MongoDB網絡使用情況的信息.
    serverStatus.network.bytesIn
    bytesIn字段值表示數據庫服務器收到的總字節數.
    可使用此值來判斷mongod進程接收到的網絡流量與整體應用程序發送的流量是否一致。
    serverStatus.network.bytesOut
    bytesOut字段值反映的是數據庫發出的總字節數.
    可使用此值來判斷mongod進程發出的網絡流量與整體應用程序接收的流量是否一致.
    serverStatus.network.numRequests
    numRequests字段值表示服務器接收到不同請求的總數量. 此值可為bytesIn和bytesOut值提供上下文參考,以判斷MongoDB的網絡利用率與應用程序的期望值是否一致.
    repl
    有關repl的輸出示例,參考Server Status Output頁面的repl section.
    serverStatus.repl
    repl數據結構包含了有關MongoDB復制集配置的狀態信息. 這些值只在當前主機了啟用復制集時出現.
    參考Replication來了解更多有關復制的相關信息.
    serverStatus.repl.setName
    setName字段表示當前復制集的名稱. 該值反映的是--replSet命令行參數或配置文件中replSetName的值.
    serverStatus.repl.ismaster
    ismaster字段表示當前節點在復制集中是否是master節點,是則為ture,反之則為false.
    serverStatus.repl.secondary
    secondary字段表示當前節點在復制集中是否是secondray節點,是則為true,反之則false.
    serverStatus.repl.primary
    3.0.0版本中出現的新選項.
    按"[hostname]:[port]"字符串格式列出復制集的當前primary成員.
    serverStatus.repl.hosts
    hosts是一個數組,用于列出當前復制集中的其它成員. 復制集的每個成員都會按hostname:port格式進行顯示.
    serverStatus.repl.me
    3.0.0版本中出現的新選項.
    復制集中當前成員的[主機名]:[端口]組合。
    serverStatus.repl.rbid
    3.0.0版本中出現的新選項.
    Rollback 標識符. 用于確定當前mongod實例是否發生了回滾.
    serverStatus.repl.slaves
    3.0.0版本中出現的新選項.
    針對每個復制集成員的文檔數組,用于報告此成員的復制過程. 通常會是primary,但如果使用了鏈式復制則是secondaries.
    要包含此輸出,你必須向serverStatus傳遞repl選項,如下所示:
    db.serverStatus({ "repl": 1 }) db.runCommand({ "serverStatus": 1, "repl": 1 })
    slaves片斷的內容取決于每個成員的復制源. 本節支持的內部操作,僅作內部和診斷使用。
    serverStatus.repl.slaves[n].rid
    ObjectId用作復制集成員的ID.僅作內部使用.
    serverStatus.repl.slaves[n].host
    針對復制集成員[hostname]:[port]格式中的host.
    serverStatus.repl.slaves[n].optime
    表示當前成員執行oplog中最后一次操作的時間.
    serverStatus.repl.slaves[n].memberID
    針對此復制集成員的整形標識符.
    opcountersRepl
    有關opcountersRepl的輸出示例,參考Server Status Output頁面的opcountersRepl section.
    serverStatus.opcountersRepl
    opcountersRepl數據結構與opcounters數據結構類似,都提供了按類型來統計數據庫復制操作情況,并可借此來更細粒度地分析復制負載.此值只在當前主機啟用了復制時出現.
    因復制期間MongoDB序列化操作方式的差異,此值可能不同于opcounters值.
    查看Replication來了解更多有關復制的信息.
    這些數值會隨著數據庫的使用,而不斷增長,因此分析這些值可跟蹤數據庫的使用情況。
    serverStatus.opcountersRepl.insert
    insert表示自mongod實例最后一次啟動以來,執行復制插入操作總數.
    serverStatus.opcountersRepl.query
    queryt表示自mongod實例最后一次啟動以來,執行復制查詢操作的總數.
    serverStatus.opcountersRepl.update
    update表示自mongod實例最后一次啟動以來,執行復制更新操作的總數.
    serverStatus.opcountersRepl.delete
    delete表示自mongod實例最后一次啟動以來,執行復制刪除操作的總數.
    serverStatus.opcountersRepl.getmore
    getmore表示自mongod實例最后一次啟動以來,執行getmore操作的總數.
    即使query值很低,此值也可能很高. Secondary成員可作為復制過程的一部分發送getMore操作.
    serverStatus.opcountersRepl.command
    command表示自mongod實例最后一次啟動以來,執行復制命令的總數.
    opcounters
    有關opcounters的輸出示例,參考Server Status Output頁面的opcounters section.
    serverStatus.opcounters
    opcounters數據結構提供了按類型來統計數據庫操作情況,并可借此來更細粒度地分析數據庫負載.
    注意
    opcounters中的數據會將影響多個文檔的操作,如批量插入或批量更新操作,視為單個操作.
    有關更詳細的文檔級操作,請參閱文檔。
    此外,這些值反映的是接收到的操作,即使操作未成功執行,其數值也會增加.
    serverStatus.opcounters.insert
    insert表示自最后一次mongod實例啟動以來,接收到的插入操作總數.
    serverStatus.opcounters.query
    query表示自最后一次mongod實例啟動以來,接收到的查詢操作總數.
    serverStatus.opcounters.update
    update表示自最后一次mongod實例啟動以來,接收到的更新操作總數.
    serverStatus.opcounters.delete
    delete表示自最后一次mongod實例啟動以來,接收到的刪除操作總數.
    serverStatus.opcounters.getmore
    getmore表示自最后一次mongod實例啟動以來,執行getmore操作的總數.
    即使query數值很低,此值也會很高. Secondary節點會在復制過程中發送getMore操作.
    serverStatus.opcounters.command
    command表示自最后一次mongod實例啟動以來,執行的命令總數.
    command會統計除insertupdate, 和delete之外的所有其它命令.
    rangeDeleter
    3.0.0版本引入的新選項.
    注意
    rangeDeleter數據只在明確啟用的情況下,才會包含在serverStatus的輸出中.
    要返回rangeDeleter,可使用下面的某個命令:
    db.serverStatus( { rangeDeleter: 1 } ) db.runCommand( { serverStatus: 1, rangeDeleter: 1 } )
    serverStatus.rangeDeleter
    此值是一個文檔,用于報告cleanupOrphaned命令以及moveChunk命令清理階段的工作執行情況.
    serverStatus.rangeDeleter.lastDeleteStats
    此值是一個數組文檔,每個數組元素都會報告最后一次執行遷移清理操作的情況.
    lastDeleteStats最多只會報告最后10個操作的數據.
    serverStatus.rangeDeleter.lastDeleteStats[n].deletedDocs
    在遷移清理操作過程中刪除的文檔個數.
    serverStatus.rangeDeleter.lastDeleteStats[n].queueStart
    用于反映操作進入遷移清理操作隊列的時間戳.
    具體來說,當mongod在等待打開的游標關閉命名空間時,操作會在隊列中等待.
    serverStatus.rangeDeleter.lastDeleteStats[n].queueEnd
    用于反映遷移清理開始時的時間戳。
    serverStatus.rangeDeleter.lastDeleteStats[n].deleteStart
    作為遷移清理操作的一部分,執行刪除過程的開始時間戳.
    serverStatus.rangeDeleter.lastDeleteStats[n].deleteEnd
    作為遷移清理操作的一部分,結束刪除過程的時間戳.
    serverStatus.rangeDeleter.lastDeleteStats[n].waitForReplStart
    反映遷移清理操作中開始等待復制以處理刪除操作的時間戳.
    serverStatus.rangeDeleter.lastDeleteStats[n].waitForReplEnd
    反映遷移清理操作中完成等待復制以處理刪除操作的時間戳.
    security
    3.0.0版本中引入的新選項.
    有關security的輸出示例, 參考Server Status Output頁面的security section.
    serverStatus.security
    報告安全配置細節的文檔.僅適用于支持TLS / SSL編譯的mongod實例。
    serverStatus.security.SSLServerSubjectName
    由net.ssl.PEMKeyPassword指定的且與TLS / SSL證書關聯的主題名稱.
    serverStatus.security.SSLServerHasCertificateAuthority
    當net.ssl.PEMKeyPassword指定的TLS / SSL證書與證書頒發機構相關聯時,該屬性為true
    當TLS/SSL是自我簽發時,此值為false.
    serverStatus.security.SSLServerCertificateExpirationDate
    用以表示net.ssl.PEMKeyPassword指定的TLS / SSL證書過期時的date對象.
    storageEngine
    3.0.0版本中的新選項.
    有關storageEngine的輸出示例,參考Server Status Output頁面的storageEngine section.
    serverStatus.storageEngine
    用以表示當前存儲引擎相關數據的文檔.
    serverStatus.storageEngine.name
    用以表示當前存儲引擎名稱的字符串.
    asserts
    有關asserts的輸出示例,參考Server Status Output頁面的asserts section.
    serverStatus.asserts
    asserts文檔用以報告數據庫中的斷言數量.雖然斷言錯誤通常不常見,但如果斷言有非零值,則應檢查mongod進程的日志文件以獲取更多信息。 在多數情況下,這些錯誤是微不足道的,但值得研究。
    serverStatus.asserts.regular
    regular計數器用以跟蹤自服務器進程啟動以來引發的常規斷言數。
    檢查日志文件以獲取有關這些消息的更多信息。
    serverStatus.asserts.warning
    warning計數器用以跟蹤自服務器進程啟動后引發的警告數。
    檢查日志文件以獲取有關這些警告的更多信息。
    serverStatus.asserts.msg
    msg計數器用以跟蹤自服務器進程啟動以來引發的消息斷言數。
    檢查日志文件以獲取有關這些消息的更多信息。
    serverStatus.asserts.user
    user計數器報告自上次服務器進程啟動以來發生的“用戶斷言”數 . 這些是用戶引發的錯誤,如磁盤空間溢出或重復鍵. 您可以通過修復應用程序或部署中的問題來防止這些斷言。 檢查MongoDB日志以獲取更多信息。
    serverStatus.asserts.rollovers
    rollovers計數器表示自上次服務器進程啟動以來翻滾的次數. 在230條斷言之后,計數器將翻轉到零。 使用此值為斷言數據結構中的其他值提供上下文。
    writeBacksQueued
    有關writeBacksQueued的輸出示例,參考Server Status Output頁面的writeBacksQueued section.
    serverStatus.writeBacksQueued
    當mongos實例中存在重試排隊操作時,writeBacksQueued值將為true. 通常情況下,此選項的值為false.
    也可參考
    writeBacks
    Journaling (dur)
    NOTE
    Journaling(dur)信息只出現在使用了MMAPv1引擎的mongod實例且啟用了日志的環境中.
    有關Journaling (dur)的輸出示例,參考Server Status Output頁面的journaling section.
    serverStatus.dur
    dur (“durability”的縮寫) 文檔提供了有關mongod的日志相關操作與性能方面的數據
    只在mongod使用了journaling來運行的情況下,這些數據才會出現在serverStatus的輸出中.
    MongoDB會按3秒的時間頻率來報告過去3-6秒內收集的數據.
    也可參考
    Journaling 提供了有關日志操作的更多信息.
    serverStatus.dur.commits
    commits提供了上次日志組提交間隔期間寫入journal的事務數.
    serverStatus.dur.journaledMB
    journaledMB提供了上次日志組提交間隔期間寫入journal的數據總量,單位MB.
    serverStatus.dur.writeToDataFilesMB
    writeToDataFilesMB提供了上次日志組提交間隔期間從journal寫入數據文件的數據總量,單位MB.
    serverStatus.dur.compression
    compression表示數據寫入journal的壓縮率:
    ( journaled_size_of_data / uncompressed_size_of_data )
    serverStatus.dur.commitsInWriteLock
    commitsInWriteLock表示在獲得寫鎖時發生的提交數量. 寫鎖中的提交表明MongoDB節點處于高寫入負載之下,并需要進行進一步地診斷.
    serverStatus.dur.earlyCommits
    earlyCommits值反映的是在日志組提交間隔之前,MongoDB請求提交的次數. 使用此值可確保您的日志組提交間隔對您的部署來說不會太長。
    serverStatus.dur.timeMS
    timeMS文檔提供有關上一個日志組提交間隔期間日志記錄的各個階段中的mongod實例的性能的信息.
    serverStatus.dur.timeMS.dt
    dt值以毫秒為單位,用以表示MongoDB收集timeMS數據所花費的時間.此字段可為其它timeMS字段值提供上下文參考.
    serverStatus.dur.timeMS.prepLogBuffer
    prepLogBuffer值以毫秒為單位,用以表示準備寫入日志所花的時間. 此值越小,則日志性能越高.
    serverStatus.dur.timeMS.writeToJournal
    writeToJournal值以毫秒為單位,用以表示實際寫入日志所花的時間. 文件系統速度和設備接口可能會影響性能。
    serverStatus.dur.timeMS.writeToDataFiles
    writeToDataFiles值以毫秒為單位,用以表示日志記錄之后花在寫入數據文件上的時間. 文件系統速度和設備接口可能會影響性能。
    serverStatus.dur.timeMS.remapPrivateView
    remapPrivateView值以毫秒為單位,用以表示重新映射copy-on-write內存映射視圖所花費的時間. 此值越小,則日志性能越高.
    serverStatus.dur.timeMS.commits
    commits值表示花在提交上的時間,單位毫秒.
    serverStatus.dur.timeMS.commitsInWriteLock
    commitsInWriteLock值表示獲取到寫鎖時花在提交上的時間,單位毫秒.
    metrics
    有關metrics的輸出示例,參考Server Status Output頁面的metrics section.
    2.4.0版本中的新選項
    serverStatus.metrics
    metrics 文檔中包含了許多統計信息,這些信息可反映當前正在運行的mongod實例的使用情況和狀態.
    serverStatus.metrics.commands
    3.0.0版本引入的新選項.
    用于報告數據庫命令使用情況的文檔。commands中的字段代表的是數據庫命令的名稱,且每個值都會報告命令執行的總次數以及失敗次數.
    serverStatus.metrics.commands.<command>.failed
    在此mongod <command> 執行失敗的次數.
    serverStatus.metrics.commands.<command>.total
    在此mongod <command> 執行的總次數.
    serverStatus.metrics.document
    document包含一個反映文檔訪問,修改模式以及數據使用情況的文檔.
    將這些值與opcounters文檔中的數據進行比較,以跟蹤總操作數.
    serverStatus.metrics.document.deleted
    deleted表示已刪除文檔的總數.
    serverStatus.metrics.document.inserted
    inserted表示已插入文檔的總數.
    serverStatus.metrics.document.returned
    returned表示通過查詢返回的文檔總數
    serverStatus.metrics.document.updated
    updated表示已更新文檔的總數.
    serverStatus.metrics.getLastError
    getLastError表示getLastError使用的文檔。
    serverStatus.metrics.getLastError.wtime
    wtime是一個嵌入文檔,報告帶有w參數大于1的getLastError操作計數。
    serverStatus.metrics.getLastError.wtime.num
    num用于報告使用特定寫關注(即w)時得到getLastError操作總數,此寫關注會等待復制集的一個或多個成員確認寫操作(即 w值大于1.)
    serverStatus.metrics.getLastError.wtime.totalMillis
    totalMillis用于報告mongod使用寫關注(即w)時,執行getLastError操作所花費的時間(單位毫秒),此寫入關注會等待復制集的一個或多個成員確認寫操作(即 w值大于1.)
    serverStatus.metrics.getLastError.wtimeouts
    wtimeouts報告由于getLastError的wtimeout閾值,寫關注操作超時的次數。
    serverStatus.metrics.operation
    operation是一個內嵌文檔,其中包含多種更新,查詢操作類型的計數.
    serverStatus.metrics.operation.fastmod
    fastmod用于報告不會導致文檔增長或索引更新的更新操作數目.
    例如,此計數器會記錄那些使用$inc操作符來遞增未添加索引字段值的更新操作.
    serverStatus.metrics.operation.idhack
    idhack用于報告包含了_id字段的查詢數.
    對于這些查詢,MongoDB會使用_id字段上的默認索引,并跳過所有查詢計劃分析.
    serverStatus.metrics.operation.scanAndOrder
    scanAndOrder用于報告無法使用索引執行排序操作的查詢總數.
    serverStatus.metrics.operation.writeConflicts
    writeConflicts用于報告遇到寫沖突的查詢總數。
    serverStatus.metrics.queryExecutor
    queryExecutor用于報告從查詢執行系統中返回數據的文檔.
    serverStatus.metrics.queryExecutor.scanned
    scanned用于報告在查詢和查詢計劃評估期間,掃描索引項的總數.
    此計數等同于explain()輸出中的totalKeysExamined.
    serverStatus.metrics.queryExecutor.scannedObjects
    scannedObjects用于報告在查詢和查詢計劃評估期間,掃描文檔的總數.
    此計數等同于explain()輸出中的totalDocsExamined
    serverStatus.metrics.record
    record是用于報告與磁盤內存文件中記錄分配相關的文檔.
    serverStatus.metrics.record.moves
    對于MMAPv1存儲引擎moves用于報告在MongoDB數據集磁盤中文檔移動的總次數.
    文檔移動是由于操作的結果,使文檔的大小超過了其分配的記錄大小。
    serverStatus.metrics.repl
    repl包含一個內嵌文檔,用于報告有關復制進程的指標信息
    repl文檔會在所有mongod實例上顯示,即使它不是復制集成員.
    serverStatus.metrics.repl.apply
    apply包含一個內嵌文檔,用于報告復制oplog中的操作.
    serverStatus.metrics.repl.apply.batches
    batches用于報告復制集次成員上執行oplog的應用程序進程.
    參考Multithreaded Replication來了解有關更多oplog應用程序過程的信息
    serverStatus.metrics.repl.apply.batches.num
    num用于報告跨數據庫使用batches的總數.
    serverStatus.metrics.repl.apply.batches.totalMillis
    totalMillis用于報告mongod執行oplog中操作所花的時間量.
    serverStatus.metrics.repl.apply.ops
    ops報告要執行oplog操作的總數。
    serverStatus.metrics.repl.buffer
    在批量執行oplog中的操作前,MongoDB會緩沖來自復制同步源中的oplog操作. buffer提供了追蹤oplog buffer的方式. 參考多線程復制來了解更多有關oplog應用程序過程的信息.
    serverStatus.metrics.repl.buffer.count
    count用于報告oplog緩沖區中的操作數目.
    serverStatus.metrics.repl.buffer.maxSizeBytes
    maxSizeBytes用于報告緩沖的最大大小.在mongod中,此值是一個常量,不配置.
    serverStatus.metrics.repl.buffer.sizeBytes
    sizeBytes用于報告oplog緩沖區中當前內容的大小.
    serverStatus.metrics.repl.network
    network用于報告復制過程所使用的網絡
    serverStatus.metrics.repl.network.bytes
    bytes用于報告從復制源中已讀取的數據總量.
    serverStatus.metrics.repl.network.getmores
    getmores用于報告getmore操作,它是oplog復制過程的一部分,用于從oplog游標中請求其它結果.
    serverStatus.metrics.repl.network.getmores.num
    num用于報告getmore操作的總數,這是從復制同步源請求一組附加操作的操作.
    serverStatus.metrics.repl.network.getmores.totalMillis
    totalMillis用于報告從getmore操作收集數據所需的總時間.
    注意
    此數據可能非常大,因為MongoDB會等待更多的數據,即使getmore操作沒有初始返回數據。
    serverStatus.metrics.repl.network.ops
    ops用于報告從復制源中讀取操作的總數.
    serverStatus.metrics.repl.network.readersCreated
    readersCreated用于報告創建oplog查詢過程的總數. MongoDB會在任何時間因連接錯誤(連接超時或網絡操作錯誤)而創建一個新的oplog查詢.而且,每次MongoDB選擇一個新的復制源時,ReaderCreated都會增加。
    serverStatus.metrics.repl.oplog
    oplog是一個文檔,報告了這個mongod實例的oplog的大小和使用情況。
    serverStatus.metrics.repl.oplog.insert
    insert是用于報告向oplog執行插入操作的文檔.
    serverStatus.metrics.repl.oplog.insert.num
    num用于報告向oplog中執行插入操作的總數.
    serverStatus.metrics.repl.oplog.insert.totalMillis
    totalMillis用于報告mongod向oplog中插入數據時所花費的總時間.
    serverStatus.metrics.repl.oplog.insertBytes
    insertBytes表示向oplog上插入文檔的總大小.
    serverStatus.metrics.repl.preload
    preload用于報告在預提取階段,MongoDB加載文檔和索引至RAM,以提高復制吞吐量.
    參考Multithreaded Replication來了解更多有關復制過程中預提取階段的信息.
    serverStatus.metrics.repl.preload.docs
    docs是一個內嵌文檔,用于報告在預提取階段,向內存中加載的文檔.
    serverStatus.metrics.repl.preload.docs.num
    num用于報告在預提取階段,向內存中加載的文檔總數.
    serverStatus.metrics.repl.preload.docs.totalMillis
    totalMillis用于報告在復制預提取階段,向內存中加載文檔時所花費的總時間.
    serverStatus.metrics.repl.preload.indexes
    indexes是一個內嵌文檔,用于報告在復制預提取階段,加載進內存的索引.
    參考Multithreaded Replication來了解更多有關復制過程中預提取階段的信息.
    serverStatus.metrics.repl.preload.indexes.num
    在更新文檔(作為復制預提取階段的一部分)之前,num用于報告成員加載的索引條目總數.
    serverStatus.metrics.repl.preload.indexes.totalMillis
    totalMillis用于報告加載索引條目(作為復制預提取階段的一部分) 所花費的時間總量.
    serverStatus.metrics.storage.freelist.search.bucketExhausted
    bucketExhausted用于報告mongod未找到合適大記錄分配而檢查空閑列表的次數.
    serverStatus.metrics.storage.freelist.search.requests
    requests用于報告mongod搜索可記錄分配的次數.
    serverStatus.metrics.storage.freelist.search.scanned
    scanned用于報告mongod已搜索出可用記錄分配的數目.
    serverStatus.metrics.ttl
    ttl是一個內嵌文檔,用于報告那些使用了ttl索引的資源使用情況.
    serverStatus.metrics.ttl.deletedDocuments
    deletedDocuments用于報告使用ttl 索引從集合中刪除文檔的總數.
    serverStatus.metrics.ttl.passes
    passes用于報告后臺進程使用ttl 索引從集合中刪除文檔的次數.
    serverStatus.metrics.cursor
    2.6版本中的新選項.
    cursor是一個包含有關游標狀態和使用數據的文檔.
    serverStatus.metrics.cursor.timedOut
    2.6版本中的新選項.
    timedOut表示自服務器進程啟動以來,超時的游標數目. 如果此數值很大或按固定頻率增長,那么這通常意味著應用程序出現了錯誤.
    serverStatus.metrics.cursor.open
    2.6版本中的新選項.
    open是一個內嵌文檔,它包含了打開游標的相關信息.
    serverStatus.metrics.cursor.open.noTimeout
    2.6版本中的新選項.
    noTimeout表示打開游標的數目,這些游標設置了DBQuery.Option.noTimeout選項,以阻止其一段時間不活躍后超時.
    serverStatus.metrics.cursor.open.pinned
    2.6版本中的新選項.
    serverStatus.metrics.cursor.open.pinned表示固定(pinned)打開游標的個數.
    serverStatus.metrics.cursor.open.total
    2.6版本中的新選項.
    total表示MongoDB為客戶端維護游標的數目. 因為MongoDB會釋放未使用游標,因此通常此值很小或為0. 但是,如果這里有一個過期tailable游標隊列或者具有大量操作,此值可能會上升.
    serverStatus.metrics.cursor.open.singleTarget
    3.0.0版本中的新選項.
    singleTarget反映的是單個分片上的游標總數. 只有mongos實例能報告singleTarget值.
    serverStatus.metrics.cursor.open.multiTarget
    3.0.0版本中的新選項.
    multiTarget反映的是多個分片上的游標總數. 只有mongos實例才能報告multiTarget值.
    wiredTiger
    3.0.0版本中的新選項.
    注意
    wiredTiger信息只出現于使用了WiredTiger存儲引擎的mongod實例.
    一些統計信息,如serverStatus.wiredTiger.LSM,為服務器匯總。
    有關wiredTiger的輸出示例,參考Server Status Output頁面的wiredTiger section.
    serverStatus.wiredTiger.uri
    3.0.0版本中的新選項.
    serverStatus.wiredTiger.uri包含一個字符串,一般由MongoDB內部使用.
    serverStatus.wiredTiger.LSM
    3.0.0版本中的新選項.
    serverStatus.wiredTiger.LSM用以返回LSM (Log-Structured Merge)樹的統計信息.
    此值反映的是所有被服務器使用的LSM樹信息.
    serverStatus.wiredTiger.async
    3.0.0版本中的新選項.
    serverStatus.wiredTiger.async返回與異步操作API相關的統計信息。 MongoDB未使用此選項。
    serverStatus.wiredTiger.block-manager
    3.0.0版本中的新選項.
    serverStatus.wiredTiger.block-manager將返回block管理器操作上的統計信息.
    serverStatus.wiredTiger.cache
    3.0.0版本中的新選項.
    serverStatus.wiredTiger.cache用于從緩存中返回緩存和頁面驅逐的統計信息.
    緩存的大小可以通過storage.wiredTiger.engineConfig.cacheSizeGB設置來調整.
    如果緩存無足夠的空間來加載其它數據,WiredTiger會驅逐緩存中的頁面以釋放空間.
    注意
    storage.wiredTiger.engineConfig.cacheSizeGB只能限制WiredTiger緩存的大小,而不能限制mongod使用的內存總量. WiredTiger緩存只是MongoDB使用RAM的一個組件. MongoDB也會通過文件系統緩存來自動使用機器上所有空閑內存(文件系統緩存中的數據經過壓縮的).
    此外,操作系統也會使用任何空閑RAM來緩存文件系統塊.
    為了遷就RAM的其它消費者,你可以降低WiredTiger緩存大小. 應該避免將WiredTiger緩存大小設置為超過默認值.
    默認WiredTiger緩存大小值會假設每個節點上只存在單個mongod實例.如果單個節點上部署了多個實例,那么你可以降低其值來遷就其它mongod實例.
    如果你通過容器(如lxccgroups, Docker等容器,不能使用這些容器的所有可用RAM)來運行mongod, 你必須將storage.wiredTiger.engineConfig.cacheSizeGB的值設為小于容器可用RAM的值.
    明確的數量取決于運行于容器中的其它進程.
    serverStatus.wiredTiger.connection
    3.0.0版本中的新選項.
    serverStatus.wiredTiger.connection返回與WiredTiger連接相關的統計信息.
    serverStatus.wiredTiger.cursor
    3.0.0版本中的新選項.
    serverStatus.wiredTiger.cursor返回與WiredTiger游標相關的統計信息.
    serverStatus.wiredTiger.data-handle
    3.0.0版本中的新選項.
    serverStatus.wiredTiger.data-handle返回數據處理和掃描的統計信息。
    serverStatus.wiredTiger.log
    3.0.0版本中的新選項.
    serverStatus.wiredTiger.log用于返回WiredTiger的寫提前日志(write ahead log)統計信息.
    也可參考
    Journaling與WiredTiger
    serverStatus.wiredTiger.reconciliation
    3.0.0版本中的新選項.
    serverStatus.wiredTiger.reconciliation用于返回和解過程的統計信息。
    serverStatus.wiredTiger.session
    3.0.0版本中的新選項.
    serverStatus.wiredTiger.session用于返回打開的游標數,以及打開的會話數.
    serverStatus.wiredTiger.thread-yield
    3.0.0版本中的新選項.
    serverStatus.wiredTiger.thread-yield用于在頁面獲取期間作出讓步的統計信息.
    serverStatus.wiredTiger.transaction
    3.0.0版本中的新選項.
    serverStatus.wiredTiger.transactions返回有關事務檢查點和操作的統計信息。
    serverStatus.wiredTiger.concurrentTransactions
    3.0.0版本中的新選項.
    serverStatus.wiredTiger.concurrentTransactions返回有關允許進入WiredTiger存儲引擎的并發事務數量的信息. 此設置是MongoDB特有的.
    要更改并發讀取和寫入事務的設置,可參考wiredTigerConcurrentReadTransactions 和wiredTigerConcurrentWriteTransactions.
    posted on 2017-06-26 21:08 胡小軍 閱讀(2553) 評論(0)  編輯  收藏 所屬分類: MongoDB

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲精华液一二三产区| 99视频全部免费精品全部四虎| 亚洲毛片在线免费观看| 亚洲一区二区三区国产精品无码| 亚洲AV日韩精品一区二区三区| 8x成人永久免费视频| eeuss影院免费直达入口| 亚洲欧洲专线一区| 亚洲天堂一区二区三区| 亚洲国产成人高清在线观看 | 亚洲精品99久久久久中文字幕| 99国产精品永久免费视频 | 国产亚洲自拍一区| 国产美女无遮挡免费网站| 久久国内免费视频| 亚洲免费在线观看视频| 久久大香香蕉国产免费网站| 中文字幕在线免费播放| 一边摸一边桶一边脱免费视频| 白白色免费在线视频| 久久久亚洲精华液精华液精华液| 亚洲熟妇AV乱码在线观看| 久久久久se色偷偷亚洲精品av| 亚洲理论片在线观看| 亚洲毛片一级带毛片基地| 内射少妇36P亚洲区| 亚洲a在线视频视频| 亚洲va中文字幕无码久久不卡| 亚洲日韩激情无码一区| 亚洲色大成网站WWW久久九九 | 免费看一级毛片在线观看精品视频| 亚洲人成色99999在线观看| 亚洲色无码专区一区| 亚洲一卡一卡二新区无人区| 亚洲午夜无码久久久久小说| 亚洲 欧洲 日韩 综合在线| 亚洲人成网站18禁止| 男男gay做爽爽免费视频| 羞羞视频在线观看免费| 国产无限免费观看黄网站| 成人毛片100免费观看|