Pourquoi la valeur par défaut du paramètre de base de données shared_buffers pour Aurora PostgreSQL est-elle supérieure à la valeur par défaut pour Amazon RDS PostgreSQL ?

Date de la dernière mise à jour : 13/01/2020

Pourquoi la valeur par défaut du paramètre de base de données shared_buffers pour Amazon Aurora PostgreSQL est-elle supérieure à la valeur par défaut sur Amazon Relational Database Service (Amazon RDS) PostgreSQL ?

Solution

PostgreSQL recommande d'utiliser une valeur de départ raisonnable pour shared_buffers de 25 % de la mémoire dans votre système. Toutefois, vous pouvez modifier cette valeur en fonction des exigences de votre charge de travail. Pour trouver une valeur appropriée pour shared_buffers pour votre charge de travail, consultez la documentation PostgreSQL relative à la consommation des ressources.

PostgreSQL s'appuie fortement sur le système d'exploitation pour sa mise en cache (double mise en mémoire tampon). Par conséquent, il est peu probable que l'allocation de plus de 40 % de RAM à shared_buffers fonctionne mieux qu'une valeur plus petite.

Pour les instances de base de données RDS, la valeur par défaut du groupe de paramètres de base de données est définie sur 25 % de la mémoire totale. Mais pour les instances de base de données Aurora, la valeur par défaut du groupe de paramètres de base de données est définie sur 75 % de la mémoire totale. Cela est dû au fait qu'Aurora PostgreSQL élimine la double mise en mémoire tampon et n'utilise pas le cache du système de fichiers. Par conséquent, Aurora PostgreSQL peut augmenter shared_buffers pour améliorer les performances. Une bonne pratique consiste à utiliser la valeur par défaut de 75 % pour le paramètre de base de données shared_buffers lors de l'utilisation d'Aurora PostgreSQL. Une valeur plus petite peut dégrader les performances en réduisant la mémoire disponible sur les pages de données, tout en augmentant également les E/S sur le sous-système de stockage Aurora. Pour plus d'informations, consultez la section Référence Amazon Aurora PostgreSQL.

Remarque : vous devrez peut-être réduire la valeur du paramètre shared_buffers pour certaines charges de travail. Par exemple, vous pouvez avoir besoin de réduire la valeur si votre charge de travail accepte un grand nombre de connexions supérieur à la valeur par défaut, ou si vous utilisez fréquemment des instances work_mem, maintenance_work_mem, etc., plus volumineuses. Cependant, une valeur plus petite pour shared_buffers signifie que le taux d'accès au cache est également plus faible. Par conséquent, vous pouvez constater une augmentation de la latence d'accès pour les pages de base de données en raison de l'accès fréquent au stockage.


Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d’aide ?