Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure Database for PostgreSQL servidor flexible incluye una característica de ajuste inteligente que mejora automáticamente el rendimiento y ayuda a evitar problemas. El ajuste inteligente supervisa continuamente el estado de la base de datos de servidor flexible Azure Database for PostgreSQL y adapta dinámicamente la base de datos a la carga de trabajo.
Esta característica incluye dos funciones de ajuste automático:
- Ajuste de autovacuum: esta característica está en desuso y se reemplaza por el nuevo autovacuum adaptable.
- Optimización de escritura: esta función supervisa el volumen y los patrones de las operaciones de escritura. Modifica los parámetros que afectan al rendimiento de escritura. Estos ajustes mejoran tanto el rendimiento del sistema como la confiabilidad, y evitan proactivamente posibles complicaciones.
Obtenga información sobre cómo configurar el ajuste inteligente.
¿Por qué usar el ajuste inteligente?
La optimización de las operaciones de escritura dentro de la base de datos es una parte fundamental del mantenimiento y el rendimiento de un servidor flexible Azure Database for PostgreSQL. Normalmente, los administradores de bases de datos realizan esta tarea. Supervisar de forma constante una base de datos y ajustar las operaciones de escritura puede ser difícil y lento. Esta tarea se vuelve cada vez más compleja cuando se trabaja con varias bases de datos.
El ajuste inteligente simplifica este proceso. En lugar de supervisar y ajustar manualmente la base de datos, use el ajuste inteligente para supervisar y ajustar automáticamente la base de datos. Con este tiempo extra, puede centrarse en otras tareas importantes.
La función de optimización de escrituras observa la cantidad y los patrones transaccionales de las operaciones de escritura. Ajusta de forma inteligente parámetros como bgwriter_delay, checkpoint_completion_target, max_wal_size y min_wal_size. Al hacerlo, mejora el rendimiento y la confiabilidad del sistema, incluso bajo cargas de escritura elevadas.
Al usar el ajuste inteligente, se ahorra tiempo y recursos valiosos al confiar en el servidor flexible de Azure Database for PostgreSQL para mantener el rendimiento óptimo de las bases de datos.
¿Cómo funciona el ajuste inteligente?
El ajuste inteligente es un proceso de supervisión y análisis continuo que aprende sobre las características de la carga de trabajo. También realiza un seguimiento de la carga actual y el uso de recursos, como CPU o IOPS. No molesta las operaciones normales de la carga de trabajo de la aplicación.
El proceso permite que la base de datos se ajuste dinámicamente a la carga de trabajo al distinguir el rendimiento de escritura actual y la eficacia del punto de control en el servidor. Mediante estas conclusiones, el ajuste inteligente implementa acciones de optimización que mejoran el rendimiento de la carga de trabajo y evitan posibles problemas.
Ajuste de escritura
El ajuste inteligente ajusta cuatro parámetros relacionados con el ajuste de escritura: bgwriter_delay, checkpoint_completion_target, max_wal_size y min_wal_size.
El bgwriter_delay parámetro determina la frecuencia con la que el proceso de escritura en segundo plano se reactiva para limpiar búferes "sucios" (búferes nuevos o modificados). El proceso de escritura en segundo plano es uno de los tres procesos de un servidor flexible Azure Database for PostgreSQL que controla las operaciones de escritura. Los demás procesos son el proceso de puntos de control y las escrituras de back-end (procesos de cliente estándar, como las conexiones de aplicaciones).
El rol principal del proceso de escritura en segundo plano es aliviar la carga del proceso de punto de comprobación principal y reducir la tensión de las escrituras de back-end. El parámetro bgwriter_delay rige la frecuencia de las rondas de escritura en segundo plano. Al ajustar este parámetro, también puede optimizar el rendimiento de las consultas del lenguaje de manipulación de datos (DML).
El parámetro checkpoint_completion_target forma parte del segundo mecanismo de escritura que admite un servidor flexible de Azure Database for PostgreSQL, concretamente, el proceso de puntos de control. Los puntos de comprobación se producen a intervalos constantes definidos por checkpoint_timeout (a menos que se fuerce porque se ha superado el espacio configurado). Para evitar sobrecargar el sistema de E/S con un aumento de escrituras de página, la escritura de búferes sucios durante un punto de control se distribuye durante un período de tiempo. El parámetro checkpoint_completion_target controla esta duración mediante checkpoint_timeout para especificar la duración como una fracción del intervalo de punto de comprobación.
El valor predeterminado de checkpoint_completion_target es 0.9 (desde PostgreSQL 14). Este valor suele funcionar mejor, ya que distribuye la carga de E/S durante el período de tiempo máximo. En casos poco frecuentes, es posible que los puntos de control no se completen a tiempo debido a fluctuaciones inesperadas en el número de segmentos de Write-Ahead Logging (WAL) necesarios. El posible impacto en el rendimiento es la razón por la que checkpoint_completion_target es una métrica de destino para el ajuste inteligente.
Limitaciones y problemas conocidos
- El ajuste inteligente realiza optimizaciones solo en rangos específicos. Es posible que la característica no realice ningún cambio.
- El ajuste inteligente no ajusta la configuración de
ANALYZE.
Contenido relacionado
- Configurar el ajuste inteligente.
- Solución de problemas de Azure Database for PostgreSQL.
- Ajuste de autovacuum en Azure Database for PostgreSQL.
- Solución de problemas de uso elevado de IOPS en Azure Database for PostgreSQL.
- Procedimientos recomendados para cargar datos de forma masiva en Azure Database for PostgreSQL.
- Solucionar problemas de alta utilización de CPU en Azure Database for PostgreSQL.
- Información de rendimiento de consultas en Azure Database for PostgreSQL.