Serveur PostgreSQL sur mesure pour la productionCustom PostgreSQL server for production workloads
PostgreSQL tire un excellent parti d'un matériel bien choisi, mais il punit sans pitie un stockage lent sur le journal des écritures anticipees. Chaque validation de transaction attend le WAL. La mémoire, elle, sert à la fois de cache PostgreSQL et de cache du système de fichiers. S2I dimensionne, assemble et teste ces serveurs avant mise en production.PostgreSQL makes excellent use of well-chosen hardware, but it mercilessly punishes slow storage on the write-ahead log. Every transaction commit waits on the WAL. Memory, meanwhile, serves both as PostgreSQL cache and as filesystem cache. S2I sizes, assembles and tests these servers before they enter production.
Le WAL dicte la latence de validationThe WAL dictates commit latency
Chaque transaction validée doit voir son enregistrement WAL écrit et confirme sur disque. Un stockage lent a cet endroit plafonne le nombre de transactions par seconde, quelle que soit la puissance du processeur. Un SSD NVMe avec protection contre les coupures de courant est donc indispensable, et le placer sur un volume distinct des données évite la contention. Sur les charges intensives, cette seule décision architecturale change souvent le comportement de toute l'application.Every committed transaction must have its WAL record written and confirmed on disk. Slow storage at that point caps the number of transactions per second, regardless of CPU horsepower. An NVMe SSD with power-loss protection is therefore mandatory, and placing it on a volume separate from the data avoids contention. On heavy workloads, this single architectural decision often changes the behaviour of the whole application.
- SSD NVMe dédié au WAL, protection contre coupure obligatoire
- Volume WAL sépare des fichiers de données
- Endurance DWPD calculée sur le volume de transactions
- Cache disque en écriture differee jamais active sans protection
- NVMe SSD dedicated to the WAL, power-loss protection mandatory
- WAL volume kept separate from the data files
- DWPD endurance calculated from the real transaction volume
- Write-back disk cache never enabled without power protection
Mémoire, cache et pages volumineusesMemory, caching and huge pages
PostgreSQL s'appuie sur deux niveaux de cache : ses propres tampons partages, et le cache de pages du système d'exploitation. Il faut donc laisser de la place aux deux plutôt que d'attribuer toute la mémoire a l'instance. Activer les pages volumineuses réduit la charge de gestion mémoire sur les grosses instances. Attention aussi au nombre de connexions : chaque connexion consomme de la mémoire, ce qui rend un gestionnaire de pool indispensable au-dela de quelques centaines de clients.PostgreSQL relies on two levels of cache: its own shared buffers, and the operating system page cache. You therefore need to leave room for both rather than assigning all memory to the instance. Enabling huge pages reduces memory management overhead on large instances. Also watch the connection count: every connection consumes memory, which makes a pooler indispensable beyond a few hundred clients.
- Tampons partages et cache système dimensionnés ensemble
- Pages volumineuses activees sur les grosses instances
- Gestionnaire de pool de connexions au-dela de quelques centaines de clients
- Mémoire de travail par requete calibrée selon le parallélisme
- Shared buffers and OS page cache sized together, not in isolation
- Huge pages enabled on large instances
- Connection pooler used beyond a few hundred concurrent clients
- Per-query working memory calibrated against the parallelism level
Réplication, sauvegarde et basculeReplication, backup and failover
La réplication en flux vers un secondaire couvre à la fois la haute disponibilité et la répartition des lectures. Le secondaire doit disposer d'un matériel comparable, sans quoi il ne tiendra pas la charge après bascule. Cote sauvegarde, l'archivage continu du WAL permet une restauration a un instant précis, ce qui vaut bien mieux qu'un export nocturne isole. S2I assemble les deux machines, les teste en charge, garantit le matériel et fournit les pièces détachées.Streaming replication to a standby covers both high availability and read scaling. The standby needs comparable hardware, otherwise it will not hold the load after a failover. On backup, continuous WAL archiving enables point-in-time recovery, which is worth far more than an isolated nightly dump. S2I assembles both machines, load-tests them, warrants the hardware and supplies spare parts.
- Secondaire au matériel comparable au primaire
- Archivage continu du WAL pour restauration a un instant précis
- Bascule testée réellement, procédure documentée
- Sauvegarde exportee hors du serveur et idéalement immuable
- Standby built on hardware comparable to the primary
- Continuous WAL archiving for point-in-time recovery
- Failover genuinely tested, with a documented procedure
- Backups exported off the server and ideally made immutable
Repères de configurationConfiguration guidance
Repères indicatifs : la configuration finale est validée avec vous selon vos contraintes réelles (charge, budget, environnement).Indicative guidance: the final configuration is validated with you against your real constraints (workload, budget, environment).
Questions fréquentesFrequently asked questions
Un besoin précis à chiffrer ?A specific need to quote?
Décrivez votre contexte : nous revenons sous 24 à 72 heures avec une approche et un devis.Tell us your context: we come back within 24-72 hours with an approach and a quote.