El rendimiento una base de datos afecta el rendimiento de todo el sistema dentro de la organización. En el caso de MongoDB, hay muchas vías diferentes para detectar problemas de rendimiento en MongoDB.
En este post, le ayudaremos a comprender mejor cómo Mongodb maneja el workload de su base de datos y qué cosas puedan afectar su rendimiento.
El conocimiento de cómo utilizar los recursos limitados es esencial para cualquiera que administre una base de datos de producción.
#1: Conectarnos a MongoDB
$ mongo
#2: Verificar el archivo de configuración
$ cat /etc/mongod.conf
#3: Verificación en tiempo real del log
$ tail -f /var/log/mongodb/mongod.log
#4: Verificar si el index ha sido construido
$ cat /var/log/mongodb/mongod.log | grep -i index
#5:¿ Qué está pasando en este preciso instante?
$ cat /var/log/mongodb/mongod.log | grep -v conn | grep -v auth |
grep -vi health | grep -v ms
#6: En un cluster, ¿cuáles nodos están actuando como secundarios?
$ cat /var/log/mongodb/mongod.log | grep -i SECONDARY -A20 -B20 | more
#7: Verificar si los nodos esclavos tienen algún lag en la replicación de la data con respecto al primario
db.printSlaveReplicationInfo()
#8: Verificar el tamaño del Oplog y rango
db.printReplicationInfo()
#9: Verificar la versión de MongoDB en ejecución
db.version()
#10: Verificar las métricas con respecto a lock
db.serverStatus().globalLock
db.serverStatus().locks
#11: Verificar la cantidad de memoria que está siendo utiliza por MongoDB
db.serverStatus().mem
#12: Verificar el storage enginee utilizado por MongoDB
db.serverStatus().storageEngine
#12: Verificar WiredTiger cache
db.serverStatus().wiredTiger.cache
#13: Visualizar el número de conexiones concurrentes
db.serverStatus().connections
#14: Muestra las clientes que están conectados a MongoDB
$db.currentOp(true).inprog.forEach(function(x) { print(x.client) })
$ netstat -anp –tcp –udp | grep mongo
#15: Verificar el lag de la replicación de la data
db.printSlaveReplicationInfo()
db.getReplicationInfo()
rs.printSlaveReplicationInfo()
#16: Visualizar la diferencia en replicación entre los miembros del cluster con respecto al nodo primario
rs.status()
#17: Visualizar el número de queries en ejecución
db.currentOp()
#18: Visualizar la configuración del logging
db.getLogComponents()