Recomendamos seguir estas prácticas recomendadas para garantizar un rendimiento óptimo y una experiencia de usuario fluida.
Para obtener información relacionada sobre las limitaciones del servicio, consulte Limitaciones del servicio.
Configuración del clúster Atlas
- Utilice un clúster Atlas dedicado
Las aplicaciones de producción deben utilizar, como mínimo, un
M10Clúster dedicado. Según su caso de uso, podría necesitar actualizar a un nivel superior para obtener un rendimiento óptimo.Si usa un clúster
M0compartido,M2como,M5o, podría experimentar problemas de rendimiento debido a recursos limitados y conflictos con otros usuarios. Si actualiza de un nivel compartido a uno dedicado después de pasar a producción, deberá finalizar Device Sync y restablecer o reinstalar todas las aplicaciones cliente.- Atlas oplog
- La sincronización del dispositivo requiere acceso a un Registro de operaciones basado en tiempo para su clúster sincronizado. Todos los clústeres Atlas nuevos lo ofrecen de forma predeterminada. Para obtener mejores resultados, mantenga 48 horas de registro de operaciones para un clúster que utilice Sincronización de dispositivos.
- Versión de MongoDB
- Si es posible, utilice la última versión de MongoDB. Algunas optimizaciones de sincronización de dispositivos utilizan las nuevas funciones y mejoras de MongoDB.
- Versión mínima de MongoDB de NVMe
- Si su clúster se ejecuta en hardware que usa almacenamiento NVMe, debe usar MongoDB versión 6.0 o posterior para las aplicaciones de producción de Device Sync.
- Desactive o gestione la validación de esquemas incorporada
Un esquema en App Services no es lo mismo que la validación de esquemas integrada de MongoDB. Device Sync podría interactuar con el clúster de una forma incompatible con un esquema integrado.
Si usa la validación de esquemas en su clúster, debería deshabilitarla y priorizar los esquemas de App Services o administrar las dos capas de validación de esquemas para que sean compatibles. Para obtener más información, consulte Validación de esquemas de App Services vs. Validación de esquemas integrada.
Configuración de servicios de aplicaciones
- Modelo de implementación y regiones geográficas
- Utiliza un modelo de implementación local al crear una aplicación de Device Sync. Configura tu aplicación y la fuente de datos MongoDB para que se ejecuten dentro de la misma región geográfica y proveedor de nube.
- Definir un tiempo máximo sin conexión para un cliente
- El backend de App Services utiliza un historial de cambios en los datos subyacentes para sincronizar los clientes. Configure un tiempo máximo sin conexión para cada cliente para controlar el número de días de historial que almacena su aplicación. Los clientes que no se hayan sincronizado en más de ese número de días deben reiniciar el cliente la próxima vez que se conecten al backend.
Código de aplicación del cliente
- Definir un manejador de restablecimiento del cliente
- Para recuperarse de una condición de error grave donde los historiales del cliente y del servidor divergen, debe definir un controlador de restablecimiento de cliente cuando abra cada reino sincronizado con un SDK.
Modelo de datos y esquema
- Evite cambios disruptivos
- Una vez activada la sincronización, existen limitaciones para modificar el modelo de datos. En concreto, la sincronización no admite cambios importantes en los tipos de objeto, como cambiar el tipo de una propiedad. Si desea realizar un cambio importante, debe finalizar la sincronización y volver a activarla con los modelos de datos actualizados.
- Consistencia de datos del esquema de App Services
- Si crea o modifica documentos de sincronización de dispositivos con otra herramienta, como Mongosh Shell o MongoDB Compass, asegúrese de que los documentos se validen con el esquema de App Services de la colección. Para obtener más información, consulte Documentos no sincronizados.
Mejores prácticas de rendimiento
- Pruebas de carga de producción
- Mida el rendimiento e identifique problemas en una implementación de producción ampliada con Sync Production Load Testing.
- Escribir el tamaño de la transacción
- Al escribir grandes cantidades de datos, considere usar varias transacciones de escritura pequeñas en lugar de una sola transacción más grande. Según la versión y configuración de su clúster Atlas, MongoDB podría rechazar transacciones de escritura superiores a 16MB y provocar un error en la sincronización.