Gestion de la mémoire améliorée dans Aurora Postgre SQL - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion de la mémoire améliorée dans Aurora Postgre SQL

Aurora Postgre inclut SQL désormais des fonctionnalités avancées de gestion de la mémoire afin d'optimiser les performances et la résilience des bases de données en fonction de différentes charges de travail. Ces améliorations aident Aurora Postgre à SQL maintenir une disponibilité et une réactivité constantes, même pendant les périodes de forte demande de mémoire.

Cette fonctionnalité est disponible et activée par défaut dans les SQL versions suivantes d'Aurora Postgre :

  • Version 15.3 et toutes les versions ultérieures

  • Versions 14.8 et supérieures

  • Versions 13.11 et supérieures

  • Versions 12.15 et supérieures

  • Versions 11.20 et supérieures

Lorsque les charges de travail des clients utilisent toute la mémoire disponible, le système d'exploitation peut redémarrer la base de données pour protéger les ressources, ce qui entraîne une indisponibilité temporaire. Les nouvelles améliorations apportées à la gestion de la mémoire dans Aurora Postgre annulent de SQL manière proactive certaines transactions lorsque le système est soumis à une charge de mémoire élevée, ce qui contribue à maintenir la stabilité de la base de données.

Les principales caractéristiques de l'amélioration de la gestion de la mémoire sont les suivantes :

  • Annulation des transactions de base de données qui demandent plus de mémoire quand le système approche d'une sollicitation critique de la mémoire.

  • Le système est considéré soumis à une sollicitation critique de la mémoire lorsqu'il épuise toute la mémoire physique et qu'il est sur le point d'épuiser l'échange. Dans ces circonstances, toute transaction demandant de la mémoire sera annulée afin de réduire immédiatement la sollicitation de la mémoire dans l'instance de base de données.

  • SQLLes lanceurs Postgre essentiels et les travailleurs d'arrière-plan tels que les aspirateurs automatiques sont toujours protégés.

Gestion des paramètres de gestion de la mémoire

Pour activer la gestion de la mémoire

Cette fonction est désactivée par défaut. Un message d'erreur s'affiche quand une transaction est annulée en raison d'une mémoire insuffisante, comme illustré dans l'exemple suivant :

ERROR: out of memory Detail: Failed on request of size 16777216.
Pour désactiver la gestion de la mémoire

Pour désactiver cette fonctionnalité, connectez-vous au cluster de SQL base de données Aurora Postgre avec psql et utilisez l'SETinstruction pour les valeurs des paramètres comme indiqué ci-dessous.

Note

Nous vous recommandons de laisser la gestion de la mémoire activée. Cela permet d'éviter les out-of-memory erreurs potentielles susceptibles d'entraîner des redémarrages de base de données induits par une charge de travail en raison de l'épuisement de la mémoire.

Le tableau suivant indique comment désactiver la fonctionnalité de gestion de la mémoire pour les différentes SQL versions d'Aurora Postgre :

Versions d'Aurora Postgre SQL Paramètre Par défaut Commande pour désactiver la gestion de la mémoire au niveau de la session

11,20, 11,21, 12,15, 12,16, 13,12, 14,8, 14,9, 15,3, 15,4

rds.memory_allocation_guard

false

SET rds.memory_allocation_guard = true;

Versions 12.17, 13.13, 14.10, 15.5 et supérieures

rds.enable_memory_management

true

SET rds.enable_memory_management = false;

Note

Le rds.memory_allocation_guard paramètre est devenu obsolète dans Aurora Postgre SQL 12.17, 13.13, 14.10, 15.5 et versions supérieures.

La définition des valeurs de ces paramètres dans le groupe de paramètres du cluster de base de données empêche l'annulation des requêtes. Pour plus d'informations sur le groupe de paramètres du cluster de base de données, consultezGroupes de paramètres pour Amazon Aurora ().

Limitation

  • Cette fonctionnalité n'est pas prise en charge dans les classes d'instance db.t3 et db.serverless.