Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Escribe el rendimiento de la operación

Cada índice en una colección añade cierta sobrecarga al rendimiento de las operaciones de escritura.

Para cada insert o delete para la operación de guardar en una colección, MongoDB inserta o elimina las claves de documentos correspondientes de cada índice en la colección de destino. Una update operación puede dar lugar a actualizaciones en un subconjunto de índices de la colección, dependiendo de las claves que se vean afectadas por la actualización.

Nota

MongoDB solo actualiza un índice disperso o parcial si los documentos involucrados en una operación de guardar están incluidos en el índice.

En general, las mejoras de rendimiento que proporcionan los índices para las operaciones de lectura compensan la penalización por la inserción. Sin embargo, para optimizar el rendimiento de guardado cuando sea posible, debes tener cuidado al crear nuevos índices y evaluar los índices existentes para garantizar que tus queries realmente utilicen estos índices.

Para índices y consultas, consulte Optimización de consultas. Para más información sobre los índices, consulta Índices y Estrategias de indexación.

Para proporcionar durabilidad en caso de un fallo, MongoDB utiliza registro de escritura anticipada en un registro en la bitácora en disco. MongoDB escribe los cambios en memoria primero en los archivos de registro en la bitácora en disco. Si MongoDB se interrumpe o encuentra un error antes de confirmar los cambios en los archivos de datos, MongoDB puede utilizar los archivos de registro en la bitácora para aplicar la operación de escritura a dichos archivos.

Aunque la garantía de durabilidad que proporciona el Diario suele superar los costos de rendimiento de las operaciones de guardar adicionales, tenga en cuenta las siguientes interacciones entre el Diario y el rendimiento:

  • Si la bitácora y el archivo de datos residen en el mismo dispositivo de bloques, es posible que los archivos de datos y la bitácora tengan que competir por un número finito de recursos de E/S disponibles. Mover el diario a otro dispositivo puede aumentar la capacidad de las operaciones de escritura.

  • Si las aplicaciones especifican niveles de confirmación de escritura (write concern) que incluyen j option, mongod disminuirá la duración entre registros en el diario, lo que puede aumentar la carga total de escritura.

  • La duración entre guardados de registro es configurable usando la opción commitIntervalMs en tiempo de ejecución. Disminuir el periodo entre las confirmaciones en el diario aumentará el número de operaciones de guardar, lo que puede limitar la capacidad de MongoDB para realizar operaciones de guardar. Aumentar la cantidad de tiempo entre los commits del diario puede disminuir el número total de operaciones de guardar, pero también aumenta la posibilidad de que el diario no registre una operación de guardar en caso de un evento.

Para información adicional sobre registrar en la bitácora, consulte Registrar en la bitácora.

Volver

Solucionar problemas de consultas lentas

En esta página