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 sin servidor de Amazon DocumentDB
Temas
Selección del rango de capacidad de escalado para un clúster sin servidor de DocumentDB
Elegir la MinCapacity configuración de un clúster sin servidor de DocumentDB
Elegir la MaxCapacity configuración de un clúster sin servidor de DocumentDB
¿Por qué no se reduce la escala de mi instancia sin servidor?
Selección del rango de capacidad de escalado para un clúster sin servidor de DocumentDB
Antes de añadir cualquier instancia sin servidor de DocumentDB a un clúster de Amazon DocumentDB, el clúster también debe tener el conjunto de parámetros. ServerlessV2ScalingConfiguration
El ServerlessV2ScalingConfiguration
parámetro 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 sin servidor de DocumentDB del clúster.MaxCapacity
— La capacidad de escalado máxima de cualquier instancia sin servidor de DocumentDB del clúster.
Elegir la MinCapacity
configuración de un clúster sin servidor de DocumentDB
Es tentador elegir siempre 0.5 para. MinCapacity
Ese valor permite que la instancia se reduzca a la capacidad más pequeña cuando está completamente inactiva y, al mismo tiempo, permanece 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 velocidad de escalado de una instancia sin servidor de DocumentDB depende de su capacidad actual. Cuanto mayor sea la capacidad actual, más rápido podrá ampliarse. Si necesita que la instancia se amplíe rápidamente hasta una capacidad muy alta, considere establecer la capacidad mínima en un valor en el que la tasa de escalado cumpla 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 utilizar esa experiencia para hacer una estimación aproximada del rango de capacidad equivalente sin servidor de DocumentDB. Para determinar el tamaño de memoria de un tipo de instancia de Amazon DocumentDB aprovisionada, consulte. Límites de instancias
Por ejemplo, supongamos que utiliza la clase de
db.r6g.xlarge
instancia cuando el clúster tiene una carga de trabajo baja. Esa clase de instancia tiene 32 GiB de memoria. Por lo tanto, puedes especificar unMinCapacity
valor de 16 para configurar una instancia sin servidor que se pueda reducir hasta aproximadamente la misma capacidad. Esto se debe a que cada DCU corresponde a aproximadamente 2 GiB de memoria. Puede especificar un valor algo inferior para permitir que la instancia se reduzca aún más en caso de que sudb.r6g.xlarge
instancia esté infrautilizada en ocasiones.Si tu aplicación funciona de forma más eficiente cuando las instancias tienen una cantidad determinada de datos en la caché del búfer, considera la posibilidad de especificar una configuración mínima de DCU en la que la memoria sea lo suficientemente grande como para almacenar los datos a los que se accede con frecuencia. De lo contrario, algunos datos se expulsan de la caché del búfer cuando las instancias sin servidor se reducen a un tamaño de memoria inferior. Luego, cuando las instancias se vuelven a reducir, la información se vuelve a leer en la memoria 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 sin servidor de DocumentDB se ejecutan la mayor parte del tiempo con una capacidad determinada, considere la posibilidad de especificar una configuración de capacidad mínima inferior a esa línea base, pero no demasiado inferior. Las instancias sin servidor pueden estimar de manera más eficaz cuánto y con qué rapidez se ampliarán cuando la capacidad actual no sea drásticamente inferior a la capacidad requerida.
Si la carga de trabajo aprovisionada tiene requisitos de memoria demasiado altos para las clases de instancias pequeñas, como la T3 o la T4g, elige una configuración de DCU mínima que proporcione una memoria comparable a la de una instancia R5 o R6g.
En concreto, recomendamos usar lo siguiente como mínimo
MinCapacity
con las funciones 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 sin servidor de DocumentDB 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 de los niveles de promoción 2 a 15 tienen problemas de rendimiento, considere la posibilidad de aumentar la capacidad mínima del clúster. Para obtener más información sobre cómo cambiar si las instancias de lectura escalan junto con el escritor o de forma 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 sin servidor de DocumentDB, los lectores no escalan junto con la instancia de escritor cuando el nivel de promoción de los lectores no es 0 o 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 comparable a la de la instancia de grabación.
El tiempo que tarda una instancia sin servidor de DocumentDB en escalar desde su capacidad mínima a su capacidad máxima depende de la diferencia entre sus valores de DCU mínimo y máximo. Cuando la capacidad actual de la instancia es grande, DocumentDB serverless se amplía en incrementos mayores que cuando la instancia se inicia desde una capacidad pequeña. Por lo tanto, si especifica una capacidad máxima relativamente grande y la instancia pasa la mayor parte del tiempo cerca de esa capacidad, considere la posibilidad de aumentar la configuración mínima de la DCU. De esta forma, una instancia inactiva puede volver a escalarse hasta alcanzar su capacidad máxima con mayor rapidez.
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
MinCapacity
valor, considereMinCapacity
aumentarlos a un valor más alto. Para obtener más información, consulte Límites de instancias sin servidor de Amazon DocumentDB.Además, algunos límites de instancias se limitan a un valor máximo inferior si
MinCapacity
se 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 unMinCapacity
valor de 1,5 como mínimo DCUs. Para obtener más información, consulte Límites de instancias sin servidor de Amazon DocumentDB.
Para obtener instrucciones sobre cómo modificar la configuración de escalado de un clúster, consulteAdministración de Amazon DocumentDB sin servidor.
Elegir la MaxCapacity
configuración de un clúster sin servidor de DocumentDB
Resulta tentador elegir siempre un valor alto para la configuración de capacidad máxima sin servidor de DocumentDB. Una gran capacidad máxima permite que la instancia se amplíe al máximo cuando se 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 tu instancia sin servidor se amplía con frecuencia hasta alcanzar su capacidad máxima y tiene limitaciones de recursos (por ejemplo, cuando la
DCUUtilization
métrica es de 100,0), te recomendamos seleccionar un valor más alto.MaxCapacity
Para obtener más información, consulte Supervisión de Amazon DocumentDB sin servidor.Si normalmente modifica la clase de instancia de las instancias aprovisionadas en previsión de una carga de trabajo especialmente alta o baja, puede utilizar esa experiencia para estimar el rango de capacidad equivalente sin servidor de DocumentDB. Para determinar el tamaño de memoria de las instancias de Amazon DocumentDB aprovisionadas, consulte. Límites de instancias
Por ejemplo, supongamos que utiliza la clase de
db.r6g.4xlarge
instancia cuando el clúster tiene una carga de trabajo elevada. Esa clase de instancia tiene 128 GiB de memoria. Por lo tanto, puedes especificar una configuración máxima de DCU de 64 para configurar una instancia sin servidor que pueda ampliarse hasta aproximadamente la misma capacidad. Esto se debe a que cada DCU corresponde a aproximadamente 2 GiB de memoria. Puedes especificar un valor algo más alto para permitir que la instancia se amplíe aún más en caso de que a veces ladb.r6g.4xlarge
instancia no tenga la capacidad suficiente para gestionar la carga de trabajo de forma eficaz.Si tienes un límite presupuestario para el uso de la base de datos, elige un valor que se mantenga dentro de ese límite incluso si todas las instancias sin servidor se ejecutan al máximo de su capacidad en todo momento. Recuerde que si tiene n instancias sin servidor en el clúster, la capacidad máxima teórica sin servidor que el clúster puede consumir en cualquier momento es n veces la configuración máxima de DCU del clúster. (La cantidad real consumida podría ser menor, por ejemplo, si algunos lectores escalan independientemente del escritor).
Si utiliza instancias de lectura sin servidor para liberar parte de la carga de trabajo de solo lectura de la instancia de grabación, es posible que pueda elegir una configuración de capacidad máxima inferior. Esto se hace para reflejar que cada instancia de lector no necesita escalarse tanto 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 activas una configuración en el clúster que aumenta el uso de memoria para cada instancia, ten en cuenta esa memoria a la hora de decidir el valor máximo de la DCU. Estos ajustes incluyen los de Performance Insights. Asegúrese de que el valor máximo de la DCU permita que las instancias sin servidor se escalen lo suficiente como para gestionar la carga de trabajo cuando se utilicen esas funciones. Para obtener información sobre la solución de problemas causados por la combinación de una configuración de DCU máxima baja y funciones de Amazon DocumentDB que sobrecargan la memoria, Evitar out-of-memory errores consulte (a continuación).
En concreto, recomendamos utilizar el siguiente mínimo
MaxCapacity
con las funciones 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 instancias 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
MaxCapacity
valor de la carga de trabajo, asegúrate 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 sin servidor de Amazon DocumentDB.
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 out-of-memory errores
Si una de sus instancias sin servidor de DocumentDB alcanza constantemente el límite de su capacidad máxima, Amazon DocumentDB indica esta condición configurando la instancia en un estado de parámetros incompatibles. Si bien la instancia tiene el estado de parámetros incompatibles, algunas operaciones están 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 errores. out-of-memory Amazon DocumentDB registra un evento cuando se produce este tipo de reinicio. Para ver los eventos de recursos, consulteVisualización de eventos de Amazon DocumentDB. Se puede producir un uso de memoria inusualmente elevado debido a la sobrecarga que supone activar ajustes como Performance Insights. También puede deberse a una gran carga de trabajo en la instancia o a la administración de los metadatos asociados a una gran cantidad de objetos de esquema.
Si la presión de la memoria disminuye y la instancia no alcanza su capacidad máxima con mucha frecuencia, 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 de las instancias sin servidor cambiando el valor mínimo de la unidad de capacidad (DCU) de DocumentDB 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. Tras cambiar la configuración de la DCU del clúster, reinicie la instancia sin servidor. Al hacerlo, se evalúa si Amazon DocumentDB puede restablecer el estado a disponible.
Aumente el límite máximo de capacidad de las instancias sin servidor cambiando el valor máximo de la 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. Tras cambiar la configuración de la DCU del clúster, reinicie la instancia sin servidor. Al hacerlo, se evalúa si Amazon DocumentDB puede restablecer el estado a disponible.
Desactivar los ajustes de configuración que requieren sobrecarga de memoria. Por ejemplo, supongamos que tiene activada una función como Performance Insights, pero no la usa. Si es así, puedes desactivarla. O bien, puede ajustar los valores de capacidad mínima y máxima del clúster para tener en cuenta la memoria que utilizan esos tipos de funciones. 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 sin servidor de DocumentDB.
Reduzca la carga de trabajo de la instancia. Por ejemplo, puedes añadir instancias de lectura al clúster para distribuir la carga de consultas de solo lectura entre más instancias.
¿Por qué no se reduce la escala de mi instancia sin servidor?
En algunos casos, DocumentDB serverless no se reduce a la capacidad mínima, incluso sin carga en la base de datos. Esto podría deberse por alguna de las siguientes razones:
Performance Insights puede aumentar el uso de los recursos y evitar que la base de datos se reduzca hasta alcanzar su capacidad mínima. Estas son algunas de ellas:
Si una instancia de lectura no se reduce al mínimo y mantiene la misma o mayor capacidad que la instancia de escritura, compruebe el nivel de prioridad de la instancia de lectura. Las instancias de lectura sin servidor de DocumentDB de los niveles 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 sin servidor de Amazon DocumentDB.
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 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 los 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.