Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Cómputo
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gestión y gobernanza
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migración
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análisis
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Otros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Seguridad y cumplimiento
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Situation Awareness
Managed Threat Detection
Blockchain
Blockchain Service
Servicios multimedia
Media Processing Center
Video On Demand
Live
SparkRTC
Almacenamiento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Contenedores
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bases de datos
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicaciones empresariales
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribución de contenido y cómputo de borde
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluciones
SAP Cloud
High Performance Computing
Servicios para desarrolladores
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
aPaaS MacroVerse
KooPhone
KooDrive

Sugerencias de uso de instancias

Actualización más reciente 2024-06-06 GMT+08:00

Conexión de base de datos

RDS for PostgreSQL utiliza una arquitectura de procesos, proporcionando un proceso de servicio backend para cada conexión de cliente.

  • Establezca max_connections en función del tipo de aplicación. Utilice la configuración de parámetros proporcionada en pgtune como ejemplos:
    • Establezca max_connections en 200 para aplicaciones web.
    • Establezca max_connections en 300 para aplicaciones OLTP.
    • Establezca max_connections en 40 para los almacenes de datos.
    • Establezca max_connections en 20 para aplicaciones de escritorio.
    • Establezca max_connections en 100 para aplicaciones híbridas.
  • Limite el número máximo de conexiones permitidas para un solo usuario en función de los requisitos de la carga de trabajo.
    ALTER ROLE xxx CONNECTION LIMIT xxx;
  • Establezca el número de conexiones activas en dos o tres veces el número de vCPU.
  • Evite transacciones largas, que pueden bloquear el vacío automático y afectar el rendimiento de la base de datos.
  • Libere conexiones persistentes periódicamente porque mantener conexiones persistentes puede generar gran caché y causar un alto consumo de memoria.
  • Compruebe el marco de la aplicación para evitar que la aplicación inicie automáticamente transacciones sin realizar ninguna operación.

Réplicas de lectura

  • Evite transacciones largas, que pueden causar conflictos de consulta y afectar a la reproducción.
  • Configure hot_standby_feedback para instancias que requieran datos en tiempo real y establezca max_standby_streaming_delay en un valor adecuado.
  • Supervise las transacciones largas, las conexiones largas y el retraso en la replicación y aborde todos los problemas de manera oportuna.
  • Asegúrese de que las aplicaciones conectadas a una réplica de lectura puedan cambiarse a otros nodos, ya que las réplicas de lectura son instancias de un solo nodo que no pueden proporcionar alta disponibilidad.

Confiabilidad y Disponibilidad

  • Seleccione instancias de base de datos primarias/en espera para bases de datos de producción.
  • Mantenga el uso de vCPU, memoria y almacenamiento en menos del 70% para las bases de datos de producción para evitar problemas como la falta de memoria (OOM) y el almacenamiento completo.
  • Despliegue instancias primarias y en espera en diferentes zonas de disponibilidad para mejorar la disponibilidad.
  • Establezca la ventana de tiempo para la copia de respaldo automatizada en horas fuera de pico. No deshabilite la copia de respaldo completa.
  • Configure la replicación asincrónica entre las instancias de base de datos primaria y en espera para evitar que las cargas de trabajo de la instancia primaria se bloqueen debido a un error en la instancia en espera.

Replicación lógica

  • Mantenga el nombre de una ranura de replicación lógica inferior a 40 bytes para evitar fallas de copia de respaldo completas.
  • Elimine las ranuras de replicación que ya no se utilizan para la replicación lógica a fin de evitar la hinchazón de la base de datos.
  • Las ranuras de replicación se perderán después de realizar una conmutación primaria/en espera (debido a un cambio de clase de instancia, una actualización de versión menor o un error de host). Cuando esto ocurre, es necesario crear ranuras de replicación de nuevo.
  • Utilice ranuras de conmutación por error para RDS for PostgreSQL 12.6 y versiones secundarias posteriores, y todas las versiones secundarias de RDS for PostgreSQL 13 y 14 para evitar la pérdida de ranura de replicación después de una conmutación primaria/en espera o reinicio de instancia.

Edad de base de datos

  • Definición de edad de la base de datos:
    • La edad de la base de datos es un concepto específico de PostgreSQL. Se refiere al último ID de transacción menos el ID de transacción más antiguo de la base de datos.
    • Como se define en el mecanismo de Control de Concurrencia Multi-Versión (MVCC) de RDS for PostgreSQL, la edad máxima permitida para una base de datos es de 2 mil millones de transacciones antiguas. Cuando una base de datos alcanza la edad máxima, se cerrará por la fuerza. En este caso, póngase en contacto con el soporte técnico para aspirar la base de datos.
    • Para ver la antigüedad de una base de datos, ejecute la siguiente sentencia SQL:

      select datname, age(datfrozenxid) from pg_database;

  • Se recomienda utilizar la métrica db_max_age para monitorear la antigüedad de la base de datos y establecer el umbral de alarma en mil millones.

Estabilidad

  • Confirme o revierta las transacciones en dos fases de manera oportuna para evitar la hinchazón de la base de datos.
  • Cambie la estructura de la tabla, por ejemplo, añadiendo campos o índices, durante las horas no pico.
  • Para crear índices durante las horas pico, utilice la sintaxis CONCURRENTLY para evitar bloquear el DML de la tabla.
  • Antes de modificar la estructura de una tabla durante las horas pico, realice una prueba de verificación para evitar que la tabla sea reescrita.
  • Configure un tiempo de espera de bloqueo para las operaciones de DDL para evitar las operaciones de bloqueo en tablas relacionadas.
  • Particione la base de datos si su capacidad supera los 2 TB.
  • Si una tabla a la que se accede con frecuencia contiene más de 20 millones de registros o su tamaño supera los 10 GB, separe la tabla o cree particiones.
  • Asegúrese de que el número de tablas de una sola instancia no exceda de 20,000, y de que el número de tablas de una sola base de datos no exceda de 4,000.
  • Para evitar excepciones de replicación en la instancia en espera o réplicas de lectura, controle la velocidad de escritura de datos de la instancia principal por debajo de 50 MB/s. Esto se debe a que la instancia en espera o la réplica de lectura reproduce los registros de WAL en un solo proceso a una velocidad máxima de 50 MB/s a 70 MB/s.

O&M de rutina

  • Descargue y vea periódicamente registros de consultas lentos en la página Logs para identificar y resolver problemas de rendimiento de manera oportuna.
  • Compruebe periódicamente el uso de recursos de su base de datos. Si los recursos son insuficientes, amplíe las especificaciones de su instancia de manera oportuna.
  • Ejecute la sentencia SELECT antes de eliminar o modificar un registro.
  • Después de eliminar o actualizar una gran cantidad de datos en una tabla, ejecute VACUUM en la tabla.
  • Tenga en cuenta el número de ranuras de replicación disponibles y asegúrese de que al menos una ranura de replicación esté disponible para copia de respaldo de la base de datos.
  • Quite las ranuras de replicación que ya no se utilizan para evitar que las ranuras de replicación bloqueen la recuperación de registros.
  • No utilice tablas no registradas porque los datos de estas tablas se perderán después de una excepción de base de datos (como OOM o fallas subyacentes) o de conmutación primaria/en espera.

Seguridad

  • Evite habilitar el acceso a su base de datos desde Internet. Si necesita habilitar el acceso a Internet, vincule un EIP a su instancia de base de datos y configure una lista blanca.
  • Utilice SSL para conectarse a su instancia de base de datos.

Utilizamos cookies para mejorar nuestro sitio y tu experiencia. Al continuar navegando en nuestro sitio, tú aceptas nuestra política de cookies. Descubre más

Comentarios

Comentarios

Comentarios

0/500

Seleccionar contenido

Enviar el contenido seleccionado con los comentarios