Introduction

Depuis des années, nous nous concentrons sur la création de systèmes rapides. ClickHouse en est un exemple. Les performances ne sont pas une fonctionnalité que nous ajoutons plus tard, mais un objectif de conception de base dès le départ. Nous avons appliqué une approche similaire lors de la création de notre service Postgres géré. Le résultat est l'offre de l'un des services Postgres gérés les plus rapides à nos clients.

Contexte Technique

PostgresBench est un benchmark conçu pour comparer les services Postgres gérés. Il s'appuie sur la même méthodologie que ClickBench, un benchmark OLAP largement référencé. Les règles sont simples : utiliser une charge de travail standard, maintenir une infrastructure cohérente pour tous les services testés, publier toutes les configurations pour que les résultats puissent être reproduits et permettre à quiconque de soumettre des résultats ou de signaler des problèmes.

Le benchmark est construit sur pgbench, l'outil de benchmarking standard de Postgres. Nous utilisons la charge de travail TPC-B-like qu'il inclut, qui simule des transactions concurrentes courtes avec des écritures et des mises à jour fréquentes. C'est un proxy raisonnable pour les modèles de transactions courants : paiements, traitement de commandes, mises à jour d'inventaire, etc.

Analyse et Implications

Les résultats du benchmark montrent que notre service Postgres géré offre des performances supérieures à celles de la concurrence. Nous avons testé cinq services dans deux configurations d'instances : une petite configuration de 4 vCPU / 16 Go et une grande configuration de 16 vCPU / 64 Go. Les résultats montrent que notre service scale mieux avec plus de ressources.

Il est important de noter que les performances ne sont pas la seule considération lors du choix d'un service Postgres géré. La sécurité, la fiabilité et la facilité d'utilisation sont également des facteurs importants. Cependant, les résultats de PostgresBench fournissent une base solide pour évaluer les performances des différents services.

Perspective

À l'avenir, nous prévoyons d'ajouter plus de services à PostgresBench et de tester des configurations HA. Nous prévoyons également d'incorporer des configurations Postgres comme une dimension supplémentaire. Cela nous permettra de fournir une image plus complète des performances des différents services Postgres gérés.

Enfin, nous encourageons les utilisateurs à reproduire les résultats de PostgresBench et à soumettre leurs propres résultats. Cela nous aidera à améliorer la qualité et la pertinence du benchmark, et à fournir une base de référence plus solide pour l'évaluation des performances des services Postgres gérés.