This section demonstrates how to monitor MongoDB performance using mongotop
, which reports how much time the server spends reading and writing per collection in real time. It includes benchmark results collected on Azure Arm64 virtual machines, providing a reference for expected latencies.
mongod
is running locally and bound to 127.0.0.1
(as started earlier)mongotop
) are installed
mongotop 2
This refreshes every 2 seconds and displays per‑collection time spent on reads and writes. Press Ctrl+C to stop.
The tail end of the output should look like:
` ns total read write 2025-09-04T04:58:23Z
test.admin_system_version_test 5ms 2ms 3ms
test.system_sessions_bench 5ms 2ms 3ms
admin.atlascli 3ms 1ms 1ms
config.system_sessions_bench 3ms 1ms 1ms
test.atlascli 3ms 1ms 1ms
benchmarkDB.cursorTest 2ms 1ms 1ms
benchmarkDB.testCollection 2ms 1ms 1ms
config.transactions_bench 2ms 1ms 1ms
local.system_replset_bench 2ms 1ms 1ms
admin.system.version 0ms 0ms 0ms
ns total read write 2025-09-04T04:58:25Z
admin.atlascli 5ms 2ms 3ms
config.system_sessions_bench 4ms 1ms 3ms
test.system_sessions_bench 3ms 1ms 1ms
benchmarkDB.cursorTest 2ms 1ms 1ms
benchmarkDB.testCollection 2ms 1ms 1ms
config.transactions_bench 2ms 1ms 1ms
local.system_replset_bench 2ms 1ms 1ms
test.admin_system_version_test 2ms 1ms 1ms
test.atlascli 2ms 1ms 1ms
admin.system.version 0ms 0ms 0ms
ns total read write 2025-09-04T04:58:27Z
test.admin_system_version_test 6ms 2ms 3ms
benchmarkDB.cursorTest 5ms 2ms 3ms
benchmarkDB.testCollection 5ms 2ms 3ms
config.transactions_bench 5ms 2ms 3ms
local.system_replset_bench 5ms 2ms 3ms
test.atlascli 5ms 2ms 3ms
test.system_sessions_bench 5ms 2ms 3ms
admin.atlascli 3ms 1ms 1ms
config.system_sessions_bench 3ms 2ms 1ms
admin.system.version 0ms 0ms 0ms
Before you dive into individual columns, read each line as a snapshot of where time was spent in the last interval. Start with total to spot hot namespaces, then compare read vs write to understand the workload shape. Look across multiple refreshes for trends—steady growth or a single collection dominating is a signal to investigate indexes, query shapes, or storage latency.
database.collection
being measuredNamespaces
For easier visualization, here is a summary of benchmark results collected on an Arm64 D4ps_v6 Azure Ubuntu Pro 24.04 LTS virtual machine.
Namespace (ns) | Total Time Range | Read Time Range | Write Time Range | Notes |
---|---|---|---|---|
admin.atlascli | 2–6 ms | 0–2 ms | 1–3 ms | Admin CLI operations |
benchmarkDB.cursorTest | 2–5 ms | 0–2 ms | 1–3 ms | Cursor benchmark load |
benchmarkDB.testCollection | 2–5 ms | 0–2 ms | 1–3 ms | Main benchmark workload |
config.system_sessions_bench | 2–6 ms | 0–2 ms | 1–3 ms | System/benchmark sessions |
config.transactions_bench | 2–6 ms | 0–2 ms | 1–3 ms | Internal transaction benchmark |
local.system_replset_bench | 2–5 ms | 0–2 ms | 1–3 ms | Local replica set benchmark |
test.admin_system_version_test | 2–5 ms | 0–2 ms | 1–3 ms | Version check workload |
test.atlascli | 2–5 ms | 0–2 ms | 1–3 ms | CLI/system background operations (test namespace) |
test.system_sessions_bench | 2–5 ms | 0–2 ms | 1–3 ms | Session benchmark (test namespace) |
admin.system.version | 0 ms | 0 ms | 0 ms | Appears inactive or instantaneous responses |
With the MongoDB performance summary of the results on your Arm-based Azure Cobalt 100 VM, you will notice:
In conclusion, MongoDB operations on Arm64 are lightweight with predictable, low-latency reads and writes, confirming efficient performance on Azure Ubuntu Pro 24.04 LTS Arm64 virtual machines.