Disable mongo Full Time Diagnostic Data Capture
Description of problem:
By default, mongo collects FTDC (Full Time Diagnostic Data Capture). See https://docs.mongodb.com/manual/administration/analyzing-mongodb-performance/ and grep for FTDC. Checking thread CPU usage, I noticed that ftdc thread responsible for this consumes nontrivial amount of CPU. On idle-ish Satellite, it is the most busy thread, on a very busy Satellite, it consumes 5% of overall mongod CPU time.
We have not utilised the collected data under /var/lib/mongodb/diagnostic.data/ so we should disable collecting the FTDC by default and save 5%+ CPU time of mongod.
I understand mongod will be deprecated since Sat7, letting on PrdM and Eng to decide if it is worth disabling since then.
It is sufficient to change /etc/opt/rh/rh-mongodb34/sysconfig/mongod to:
OPTIONS="-f /etc/opt/rh/rh-mongodb34/mongod.conf --setParameter diagnosticDataCollectionEnabled=false"
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Deploy a Sat, produce a load
2. /bin/ps -p $(pgrep mongod) -L -o pid,tid,psr,pcpu,comm= | sort -nk4
2. shows one of busiest threads is:
PID TID PSR %CPU
15086 15106 11 1.4 ftdc
ftdc does not consume CPU
Updated by Eric Helms over 3 years ago
- Status changed from Ready For Testing to Closed
Applied in changeset installer|8164f23cc4b26aab33a769082d848d97b364999b.