El es la parte de documentos e índices que el workload necesita con frecuencia. No toda la base debe caber en RAM, pero las páginas críticas deberían permanecer en memoria si la aplicación exige latencia estable.
working set
Texto
query frecuente
→ páginas de índice
→ documentos calientes
→ WiredTiger cache + OS cache
Cuando el working set supera la memoria útil, aumentan evictions y lecturas de disco; la latencia se vuelve más alta y variable.
WiredTiger administra su propia cache para páginas descomprimidas, updates y metadata. El sistema operativo también utiliza memoria para cachear archivos.
Por eso ver RAM casi llena no significa automáticamente problema. La pregunta es si existe presión:
Un índice completo puede medir cientos de GB, pero una query por tenant quizá use solo una pequeña zona. El tamaño total no explica por sí solo la memoria requerida.
WiredTiger debe liberar páginas para mantener la cache dentro de límites. Eviction normal es esperada; el problema es cuando threads de aplicación ayudan constantemente o la tasa supera la capacidad.
MongoDB con swapping intenso suele sufrir latencia impredecible. Configura el host según recomendaciones de la versión y monitorea swap in/out, no solo capacidad asignada.
En containers, los límites de memoria deben incluir overhead del proceso y OS. Un límite demasiado bajo puede producir OOMKill aunque el host tenga RAM disponible.
En SaaS, un negocio puede concentrar datos y tráfico. Mide working set por tenant o partición cuando sea posible. Promedios pueden ocultar que un tenant desplaza a todos los demás.
El working set es dinámico y depende del workload, no del tamaño total de la base. WiredTiger y el OS usan memoria deliberadamente. Diagnostica presión mediante eviction, I/O y latencia; luego corrige query shapes, documentos e índices antes de añadir hardware sin análisis.