Performances
Les déploiements IBM Cloud® Databases for PostgreSQL peuvent être manuellement mis à l'échelle en fonction de votre utilisation ou configurés pour une mise à l'échelle automatique sous certaines conditions de ressource. Il y a quelques facteurs à prendre en compte lorsque vous réglez les performances de votre déploiement.
Surveillance de votre déploiement
Les déploiements Databases for PostgreSQL offrent une intégration au serviceIBM Cloud® Monitoring pour la surveillance de base de l'utilisation des ressources sur votre déploiement. De nombreuses métriques disponibles, comme l'utilisation du disque et les IOPS, sont présentées pour vous aider à configurer la mise à l'échelle automatique sur votre déploiement. L'observation des tendances liées à votre utilisation et la configuration de la mise à l'échelle automatique pour y répondre peuvent vous aider à atténuer les problèmes de performance avant que vos bases de données ne deviennent instables en raison de l'épuisement des ressources.
IOPS de disque
Le nombre d'IOPS est limité par le type de volume de stockage. Les volumes de stockage pour les déploiements Databases for PostgreSQL sont mis à disposition sur des volumes Block Storage Endurance dans le niveau 10 IOPS par Go. Si votre charge opérationnelle est saturée ou dépasse la limite IOPS, les demandes et les opérations de base de données sont retardées jusqu'à ce que le disque puisse rattraper son retard. Dans le cas de périodes prolongées de charge élevée, votre déploiement peut se retrouver dans l'incapacité de traiter les requêtes et devenir indisponible. Si vous obtenez des réponses en différé et si des opérations échouent, il se peut que vous ayez dépassé la limite IOPS du disque. Vous pouvez accroître le nombre d'IOPS disponibles pour votre déploiement en augmentant l'espace disque.
Nous recommandons au moins 100 Go de disque (1 000 IOPS) pour les environnements de production.
Utilisation de la mémoire
Les paramètres de mémoire du déploiement Databases for PostgreSQL sont réglés automatiquement en fonction de la quantité totale de mémoire du déploiement. En particulier, work_mem
,
maintenance_work_mem
, et effective_cache_size
sont définis lors de la mise à disposition, de la restauration ou de la mise à l'échelle.
Vous pouvez définir la quantité de mémoire dédiée au pool de tampons partagés de la base de données en ajustant le paramètre shared_buffers
dans votre configuration PostgreSQL. La valeur recommandée est 25% de la mémoire totale du déploiement. L'allocation d'une
trop grande quantité de mémoire au pool de mémoire tampon partagée peut priver le système de mémoire pour d'autres usages et entraver les performances, voire désactiver la base de données.
Le fait d'allouer de plus grandes quantités de mémoire (en dehors du pool de mémoire tampon partagé) à votre déploiement profite toujours aux performances. Par exemple, PostgreSQL remplit la mémoire avec des pages de disque mises en cache pour obtenir de meilleures performances. Il n'est pas nécessaire d'allouer de la mémoire à PostgreSQL directement pour que PostgreSQL l'utilise.
limites de connexion
Databases for PostgreSQL définit le nombre maximal de connexions à votre base de données PostgreSQL vers 115. 15 connexions sont réservées au superutilisateur pour le maintien de l'état et de l'intégrité de votre base de données, et 100 connexions sont disponibles pour vous et vos applications. Lorsque le nombre limite de connexions est atteint, toute tentative de démarrage d'une nouvelle connexion génère une erreur. Pour éviter de surcharger votre déploiement avec des connexions, utilisez le regroupement de connexions ou mettez à niveau votre déploiement et augmentez le nombre limite de connexions. Pour plus d'informations, voir la page Gestion des connexions PostgreSQL.