Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configuración de escalado de Amazon DocumentDB sin servidor
Temas
Selección del rango de capacidad de escalado para un clúster de DocumentDB sin servidor
Elección de la configuración MinCapacity para un clúster de DocumentDB sin servidor
Elección de la configuración MaxCapacity para un clúster de DocumentDB sin servidor
¿Por qué no se reduce verticalmente mi instancia sin servidor?
Selección del rango de capacidad de escalado para un clúster de DocumentDB sin servidor
Antes de añadir una instancia de DocumentDB sin servidor a un clúster de Amazon DocumentDB, el clúster también debe tener el conjunto de parámetros ServerlessV2ScalingConfiguration.
El parámetro ServerlessV2ScalingConfiguration consta de dos valores que definen el rango de capacidad de escalado sin servidor de cualquier instancia sin servidor del clúster:
MinCapacity: la capacidad de escalado mínima de cualquier instancia de DocumentDB sin servidor del clúster.MaxCapacity: la capacidad de escalado máxima de cualquier instancia de DocumentDB sin servidor del clúster.
Elección de la configuración MinCapacity para un clúster de DocumentDB sin servidor
Es tentador elegir siempre 0,5 para la MinCapacity. Este valor permite que la instancia se reduzca verticalmente a la capacidad mínima cuando esté completamente inactiva y, al mismo tiempo, permanezca activa. No obstante, en función de cómo se utilice ese clúster y de los demás ajustes que se configuren, un capacidad mínima diferente podría ser lo más efectivo. Debe tener en cuenta los factores siguientes al elegir la configuración de capacidad mínima:
La tasa de escalado de una instancia de DocumentDB sin servidor depende de su capacidad actual. Cuanto mayor sea la capacidad actual, más rápido podrá ampliarse. Si necesita que la instancia se escale verticalmente de manera rápida a una capacidad muy alta, piense en establecer la capacidad mínima en un valor en el que la tasa de escalado cumpla con sus requisitos.
Si normalmente modifica la clase de instancia de sus instancias en previsión de una carga de trabajo especialmente alta o baja, puede aprovechar esa experiencia para hacer una estimación aproximada del rango de capacidad de DocumentDB sin servidor equivalente. Para determinar el tamaño de la memoria de una instancia de Amazon DocumentDB aprovisionada, consulte Límites de instancias.
Por ejemplo, supongamos que utiliza la clase de instancia
db.r6g.xlargecuando el clúster tiene una carga de trabajo baja. Esta clase de instancia tiene 32 GiB de memoria. Por lo tanto, puede especificar unaMinCapacityde 16 para configurar una instancia sin servidor que pueda reducir verticalmente hasta casi la misma capacidad. Esto se debe a que cada DCU corresponde a aproximadamente 2 GiB de memoria. Podría especificar un valor algo inferior para permitir que la instancia se reduzca verticalmente aún más en caso de que la instancia dedb.r6g.xlargese haya infrautilizado a veces.Si la aplicación funciona de la manera más eficiente cuando las instancias tienen cierta cantidad de datos en la memoria caché del búfer, piense en especificar una configuración mínima de DCU en la que la memoria sea lo suficientemente grande como para contener los datos a los que se accede con frecuencia. De lo contrario, algunos datos se expulsan de la memoria caché del búfer cuando las instancias sin servidor se reducen verticalmente a un tamaño de memoria inferior. Luego, cuando las instancias se escalan de nuevo, la información se vuelve a leer en la caché del búfer a lo largo del tiempo. Si la cantidad necesaria I/O para devolver los datos a la memoria caché del búfer es considerable, podría ser más eficaz elegir un valor mínimo de DCU más alto. Para obtener más información, consulte Determinación del tamaño de las instancias.
Si las instancias de DocumentDB sin servidor se ejecutan la mayor parte del tiempo en una capacidad determinada, considere especificar una configuración de capacidad mínima inferior a esa línea de base, pero no muy inferior. Las instancias sin servidor pueden estimar de la manera más eficaz cuánto y con qué rapidez deben escalarse verticalmente cuando la capacidad actual no es drásticamente inferior a la capacidad requerida.
Si la carga de trabajo aprovisionada tiene requisitos de memoria demasiado altos para clases de instancias pequeñas como T3 o T4g, elija una configuración de DCU mínima que proporcione memoria comparable a una instancia R5 o R6g.
En particular, recomendamos la siguiente
MinCapacitymínima de uso con las características especificadas (estas recomendaciones están sujetas a cambios):Performance Insights — 2 DCUs
En Amazon DocumentDB, la replicación se produce en la capa de almacenamiento, por lo que la capacidad del lector no afecta directamente a la replicación. Sin embargo, en el caso de las instancias de lectura de DocumentDB sin servidor que se escalan de forma independiente, asegúrese de que la capacidad mínima sea suficiente para gestionar las cargas de trabajo durante los períodos de escritura intensiva a fin de evitar la latencia de las consultas. Si las instancias de lectura en los niveles de promoción 2 a 15 experimentan problemas de rendimiento, considere aumentar la capacidad mínima del clúster. Para obtener más información sobre cómo cambiar si las instancias de lectura se escalan junto con el escritor o de manera independiente, consulte Visualización y modificación del nivel de promoción de los lectores sin servidor.
Si tiene un clúster con instancias de lectura de DocumentDB sin servidor, los lectores no se escalan junto con la instancia de escritura cuando el nivel de promoción de los lectores no es 0 ni 1. En ese caso, establecer una capacidad mínima baja puede provocar un retraso excesivo de la replicación. Esto se debe a que es posible que los lectores no tengan la capacidad suficiente para aplicar cambios de escritura cuando la base de datos esté ocupada. Se recomienda establecer la capacidad mínima en un valor que represente una cantidad de memoria y CPU comparables con la de la instancia de escritura.
El tiempo que tarda una instancia de DocumentDB sin servidor en escalar desde su capacidad mínima hasta su capacidad máxima depende de la diferencia entre sus valores de DCU mínima y máxima. Cuando la capacidad actual de la instancia es grande, DocumentDB sin servidor se escala verticalmente en incrementos mayores que cuando la instancia comienza desde una capacidad pequeña. Por lo tanto, si especifica una capacidad máxima relativamente grande y la instancia está la mayor parte del tiempo cerca de esa capacidad, considere aumentar la configuración mínima de DCU. De esta forma, una instancia inactiva podrá escalar de nuevo hasta la máxima capacidad más rápidamente.
Algunos límites de instancia vienen determinados por la capacidad actual de la instancia sin servidor, como el límite de conexiones, el límite de cursores y el límite de transacciones abiertas. Si la capacidad actual de la instancia es pequeña, los límites también serán, en consecuencia, pequeños. Si estos límites son un problema cuando la instancia sin servidor se reduce a su valor de
MinCapacity, considere la posibilidad de aumentar laMinCapacitya un valor más alto. Para obtener más información, consulte Límites de instancias de Amazon DocumentDB sin servidor.Además, algunos límites de instancias se limitan a un valor máximo inferior si
MinCapacityse establece en un valor inferior o igual a 1,0 DCUs, como el límite de conexiones activas, el límite de cursores y el límite de transacciones abiertas. Si estos límites máximos no son suficientes para su carga de trabajo, utilice unMinCapacityvalor de 1,5 como mínimo DCUs. Para obtener más información, consulte Límites de instancias de Amazon DocumentDB sin servidor.
Para obtener instrucciones sobre cómo modificar la configuración de escalado de un clúster, consulte Administración de Amazon DocumentDB sin servidor.
Elección de la configuración MaxCapacity para un clúster de DocumentDB sin servidor
Es tentador elegir siempre un valor alto para la configuración de capacidad máxima de DocumentDB sin servidor. Una alta capacidad máxima permite que la instancia se escale verticalmente cuando ejecuta una carga de trabajo intensiva. Un valor bajo evita la posibilidad de cobros inesperados. Según cómo utilice ese clúster y los demás ajustes que configure, el valor más efectivo podría ser mayor o menor de lo que pensaba originalmente. Tenga en cuenta los factores siguientes al elegir la configuración de capacidad máxima:
La capacidad máxima debe ser al menos tan alta como la capacidad mínima. Usted puede definir la capacidad mínima y máxima para que sean idénticas. Sin embargo, en ese caso, la capacidad nunca aumenta ni baja. Por lo tanto, utilizar valores idénticos para la capacidad mínima y máxima no es apropiado fuera de situaciones de prueba.
La capacidad máxima debe ser como mínimo de 1,0 DCUs y 256 como máximo DCUs.
Recomendamos supervisar el escalado y el uso de recursos de las instancias sin servidor. Si su instancia sin servidor se escala con frecuencia hasta alcanzar su capacidad máxima y tiene limitaciones de recursos (por ejemplo, cuando la métrica
DCUUtilizationes de 100,0), le recomendamos seleccionar un valor deMaxCapacitymás alto. Para obtener más información, consulte Supervisión de Amazon DocumentDB sin servidor.Si normalmente modifica la clase de instancia de sus instancias aprovisionadas en previsión de una carga de trabajo especialmente alta o baja, puede aprovechar esa experiencia para hacer una estimación del rango de capacidad de DocumentDB sin servidor equivalente. Para determinar el tamaño de la memoria de las instancias de Amazon DocumentDB aprovisionadas, consulte Límites de instancias.
Por ejemplo, supongamos que utiliza la clase de instancia
db.r6g.4xlargecuando el clúster tiene una carga de trabajo elevada. Esta clase de instancia tiene 128 GiB de memoria. Por lo tanto, puede especificar una configuración de DCU máxima de 64 para configurar una instancia sin servidor que pueda escalar verticalmente hasta casi la misma capacidad. Esto se debe a que cada DCU corresponde a aproximadamente 2 GiB de memoria. Puede especificar un valor algo mayor para permitir que la instancia se amplíe más en caso de que la instancia dedb.r6g.4xlargea veces no tenga la capacidad suficiente para gestionar la carga de trabajo de forma eficaz.Si tiene un límite presupuestario para usar su base de datos, elija un valor que se mantenga dentro de ese límite, incluso si todas las instancias sin servidor se ejecutan a máxima capacidad todo el tiempo. Recuerde que, cuando tenga n instancias sin servidor en el clúster, la capacidad sin servidor máxima teórica que el clúster puede consumir en cualquier momento es n veces la configuración máxima de DCU para el clúster. (La cantidad real consumida podría ser menor, por ejemplo, si algunos lectores escalan independientemente del escritor).
Si hace uso de instancias de lectura sin servidor para descargar parte de la carga de trabajo de solo lectura de la instancia de escritura, es posible que pueda elegir una configuración de capacidad máxima inferior. Esto se hace para reflejar que cada instancia de lectura no necesita escalar tan alto como si el clúster contuviera solo una instancia.
Supongamos que desea protegerse contra el uso excesivo por parámetros de base de datos mal configurados o consultas ineficientes en la aplicación. En ese caso, puede evitar un uso excesivo por error eligiendo un ajuste de capacidad máxima inferior al más alto absoluto que podría establecer.
Si los picos por actividad real del usuario son poco frecuentes, pero sí ocurren, puede tener en cuenta esas ocasiones al elegir la configuración de capacidad máxima. Si la prioridad es que la aplicación siga funcionando con un rendimiento y escalabilidad completos, puede especificar una configuración de capacidad máxima superior a la observada en el uso normal. Si está bien que la aplicación se ejecute con un rendimiento reducido durante picos de actividad muy extremos, puede elegir una configuración de capacidad máxima ligeramente inferior. Asegúrese de elegir una configuración que aún tenga suficiente memoria y recursos de CPU para mantener la aplicación en ejecución.
Si habilita opciones de configuración en el clúster que aumenten el uso de memoria para cada instancia, tenga en cuenta esa memoria al decidir el valor máximo de DCU. Estos ajustes incluyen los de Información sobre rendimiento. Asegúrese de que el valor máximo de la DCU permite que las instancias sin servidor se escalen verticalmente lo suficiente como para gestionar la carga de trabajo cuando se usen esas características. Para obtener información sobre cómo solucionar problemas causados por la combinación de una configuración de DCU máxima baja y características de Amazon DocumentDB que impongan sobrecarga de memoria, consulte Evitar errores out-of-memory (a continuación).
En particular, recomendamos la siguiente
MaxCapacitymínima de uso con las características especificadas (estas recomendaciones están sujetas a cambios):Creación de instancias sin servidor en un clúster con un gran volumen de datos: 2 DCUs (esto incluye la creación de instancias sin servidor como parte de la restauración de un clúster).
Algunos límites de instancia vienen determinados por la capacidad actual de la instancia, como el límite de conexiones, el límite de cursores y el límite de transacciones abiertas. A la hora de elegir el valor de
MaxCapacityde la carga de trabajo, asegúrese de tener en cuenta estos límites de instancia para evitar que uno de ellos se vea obstaculizado por uno de ellos. Para obtener más información, consulte Límites de instancias de Amazon DocumentDB sin servidor.
Para obtener instrucciones sobre cómo modificar la configuración de escalado de un clúster, consulte Administración de Amazon DocumentDB sin servidor.
Evitar errores out-of-memory
Si una de sus instancias de DocumentDB sin servidor alcanza constantemente el límite de su capacidad máxima, Amazon DocumentDB indica esta condición y establece la instancia en un estado de incompatible-parameters. Si bien la instancia tiene el estado incompatible-parameters, algunas operaciones quedan bloqueadas. Por ejemplo, no se puede actualizar la versión del motor. Para obtener más información sobre el estado de una instancia de Amazon DocumentDB, consulte Supervisión del estado de una instancia de Amazon DocumentDB.
Por lo general, la instancia pasa a este estado cuando se reinicia con frecuencia debido a out-of-memory errores. Amazon DocumentDB registra un evento cuando se produce este tipo de reinicio. Para ver los eventos de los recursos, consulte Visualización de eventos de Amazon DocumentDB. Los casos de uso de memoria inusualmente elevados pueden producirse debido a una sobrecarga en el ajuste de configuraciones, como Información sobre rendimiento. También puede provenir de una carga de trabajo pesada en la instancia o de la administración de metadatos asociados a un gran número de objetos de esquema.
Si la presión de memoria disminuye para que la instancia no alcance su capacidad máxima muy a menudo, Amazon DocumentDB cambia automáticamente el estado de la instancia a disponible.
Para recuperarse de esta situación, puede llevar a cabo algunas o todas las acciones siguientes:
Aumente el límite inferior de capacidad para instancias sin servidor. Para ello, cambie el valor mínimo de la unidad de capacidad de DocumentDB (DCU) para el clúster. Al hacerlo, se evitan problemas en los que la capacidad de una base de datos inactiva se escala a menos memoria de la necesaria para las características activadas en el clúster. Después de cambiar la configuración de DCU del clúster, reinicie la instancia sin servidor. Cuando lo hace, se evalúa si Amazon DocumentDB puede restablecer el estado de nuevo a disponible.
Aumente el límite superior de capacidad para instancias sin servidor. Para ello, cambie el valor máximo de DCU para el clúster. Al hacerlo, se evitan problemas en los que una base de datos ocupada no puede escalar a una capacidad con suficiente memoria para las funciones activadas en el clúster y la carga de trabajo de la base de datos. Después de cambiar la configuración de DCU del clúster, reinicie la instancia sin servidor. Cuando lo hace, se evalúa si Amazon DocumentDB puede restablecer el estado de nuevo a disponible.
Desactivar los ajustes de configuración que requieren sobrecarga de memoria. Por ejemplo, suponga que tiene activada una característica como Información sobre rendimiento, pero no la usa. Si es así, puede desactivarla. O bien, puede ajustar los valores de capacidad mínima y máxima del clúster para tener en cuenta la memoria utilizada por esos tipos de características. Para ver instrucciones sobre cómo elegir la configuración de capacidad mínima y máxima, consulte Selección del rango de capacidad de escalado para un clúster de DocumentDB sin servidor.
Reduzca la carga de trabajo de la instancia. Por ejemplo, puede añadir instancias de lectura al clúster para distribuir la carga de las consultas de solo lectura entre más instancias.
¿Por qué no se reduce verticalmente mi instancia sin servidor?
En algunos casos, DocumentDB sin servidor no se reduce verticalmente a la capacidad mínima, incluso sin carga en la base de datos. Esto podría deberse por alguna de las siguientes razones:
Información sobre rendimiento puede aumentar el uso de los recursos e impedir que la base de datos se reduzca verticalmente a su capacidad mínima. Estas son algunas de ellas:
Si una instancia de lectura no se reduce verticalmente al mínimo y permanece en la misma capacidad o más que la instancia de escritura, compruebe el nivel de prioridad de la instancia de lectura. Las instancias de lectura de DocumentDB sin servidor de nivel 0 o 1 se mantienen con una capacidad mínima al menos igual a la de la instancia de escritura. Cambie el nivel de prioridad del lector a 2 o más para que se escale y se reduzca verticalmente independientemente del escritor. Para obtener más información, consulte Escalado de Amazon DocumentDB sin servidor.
Las cargas de trabajo pesadas de las bases de datos pueden aumentar el uso de recursos.
Los grandes volúmenes de bases de datos pueden aumentar el uso de recursos. Amazon DocumentDB utiliza recursos de memoria y CPU para la administración de clústeres. Amazon DocumentDB requiere más CPU y memoria para administrar los clústeres con volúmenes de bases de datos más grandes. Si la capacidad mínima del clúster es inferior al mínimo requerido para la administración del clúster, el clúster no se reducirá verticalmente a la capacidad mínima.
La actividad de mantenimiento en segundo plano puede aumentar periódicamente el uso de recursos.
Si la base de datos sigue sin reducir verticalmente la capacidad mínima configurada, deténgala y reiníciela para recuperar los fragmentos de memoria que se hayan acumulado con el tiempo. Al detener e iniciar una base de datos, se produce un tiempo de inactividad, por lo que recomendamos hacerlo con moderación.