shared_buffers - AWS Directives prescriptives

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.

shared_buffers

Le shared_buffers paramètre contrôle la quantité de mémoire utilisée par PostgreSQL pour mettre en cache les données en mémoire. La définition d'une valeur appropriée à ce paramètre peut contribuer à améliorer les performances des requêtes.

Pour Amazon RDS, la valeur par défaut shared_buffers est définie sur {DBInstanceClassMemory/32768} octets, en fonction de la mémoire disponible pour l'instance de base de données. Pour Aurora, la valeur par défaut est définie sur{DBInstanceClassMemory/12038,-50003}, en fonction de la mémoire disponible pour l'instance de base de données. La valeur optimale pour ce paramètre dépend de plusieurs facteurs, notamment de la taille de la base de données, du nombre de connexions simultanées et de la mémoire d'instance disponible.

AWS CLI syntaxe

La commande suivante change shared_buffers pour un groupe de paramètres de base de données spécifique. Cette modification s'applique à toutes les instances ou à tous les clusters qui utilisent le groupe de paramètres.

# Modify shared_buffers on a DB parameter group aws rds modify-db-parameter-group \ --db-parameter-group-name <parameter_group_name> \ --parameters "ParameterName=shared_buffers,ParameterValue=<new_value>,ApplyMethod=immediate" # Modify shared_buffers on a DB cluster parameter group aws rds modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name <parameter_group_name> \ --parameters "ParameterName=shared_buffers,ParameterValue=<new-value>,ApplyMethod=immediate"

Type : statique (l'application des modifications nécessite un redémarrage)

Valeur par défaut : {DBInstanceClassMemory/32768} octets dans Amazon RDS pour PostgreSQL, dans Aurora {DBInstanceClassMemory/12038,-50003} PostgreSQL compatible. Dans la plupart des cas, cette équation représente environ 25 % de la mémoire de votre système. Conformément à cette directive, le shared_buffers réglage du groupe de paramètres est configuré en utilisant les unités par défaut de PostgreSQL, à savoir 8 000 tampons, au lieu d'octets ou de kilo-octets.

Le réglage des shared_buffers paramètres peut avoir un impact significatif sur les performances. Nous vous recommandons donc de tester vos modifications de manière approfondie afin de vous assurer que la valeur est adaptée à votre charge de travail.

Exemple

Supposons que vous disposiez d'une application de services financiers qui exécute une base de données PostgreSQL sur Amazon RDS ou Aurora. Cette base de données est utilisée pour stocker les données des transactions des clients. Il comporte un grand nombre de tables et est accessible par de multiples applications sur un grand nombre de serveurs. L'application connaît des performances de requête lentes et une utilisation élevée du processeur. Vous déterminez que le réglage du shared_buffers paramètre peut contribuer à améliorer les performances.

Dans Amazon RDS for PostgreSQL, la shared_buffers valeur par défaut de est {DBInstanceClassMemory/32768} définie sur les octets de db.r5.xlarge mémoire disponible (par exemple, 3 Go). Pour déterminer la valeur appropriée pourshared_buffers, vous devez exécuter une série de tests avec différentes valeurs deshared_buffers, en commençant par la valeur par défaut de la mémoire disponible et en augmentant progressivement la valeur. Pour chaque test, vous mesurez les performances des requêtes et l'utilisation du processeur de la base de données.

Sur la base des résultats du test, vous déterminez que la définition d'une valeur de shared_buffers 8 Go permet d'obtenir les meilleures performances globales de requête et d'utiliser le processeur pour votre charge de travail. La valeur est déterminée par une combinaison de tests et d'analyses des caractéristiques de la charge de travail, notamment la taille de la base de données, le nombre et la complexité des requêtes, le nombre d'utilisateurs simultanés et les ressources système disponibles. Une fois la modification apportée, vos systèmes de surveillance vérifient les performances de la base de données pour s'assurer que la nouvelle valeur est adaptée à votre charge de travail. Vous pouvez ensuite affiner les paramètres supplémentaires si nécessaire pour améliorer encore les performances.