Skip to content

Latest commit

 

History

History
44 lines (27 loc) · 1.23 KB

README.md

File metadata and controls

44 lines (27 loc) · 1.23 KB

mongocachestat

Build Status

Tool to collect block cache statistics for a MongoDB instance based on $showDiskLoc and mincore(2).

Prerequisites

  • MongoDB 2.6 or newer because of SERVER-5372
  • MongoDB client library and headers installed

Building

# apt-get install mongodb-dev libmongo-client-dev libboost-system-dev libboost-regex-dev libboost-thread-dev libboost-filesystem-dev
# make

Usage

MongoDB needs to be up and running.

# ./mongocachestat [--directoryPerDb] <dbpath> [<host:port>]

Example:

# ./mongocachestat /data/mongodb localhost:27017

Implementation detail

Potential "Heisenberg effects" (i.e. changing the cache state by measuring with this tool) are tried to be minimized by using madvise(…, …, MADV_RANDOM). It turns off Linux kernel read-ahead and read-behind. We call it Heisenberg compensator in analogy to a famous science fiction series.