Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

Connection Pooling

27. 04. 2024 Aktualizováno: 24. 03. 2026 1 min čtení intermediate

Každé DB spojení stojí ~10MB RAM. Bez poolingu vytvoříte stovky spojení a DB se zhroutí.

Proč pooling

  • TCP handshake + TLS = ~100ms per connection
  • PostgreSQL fork per connection = ~10MB RAM
  • Max connections limit (default 100)
  • Connection reuse = dramaticky nižší latence

SQLAlchemy pool

from sqlalchemy import create_engine engine = create_engine( “postgresql://user:pass@localhost/db”, pool_size=20, max_overflow=10, pool_timeout=30, pool_recycle=1800, # Recyklace po 30 min )

PgBouncer

pgbouncer.ini

[databases] mydb = host=localhost port=5432 dbname=mydb [pgbouncer] pool_mode = transaction # Doporučeno max_client_conn = 1000 default_pool_size = 25

Klíčový takeaway

Vždy poolujte. SQLAlchemy pool_size=20, PgBouncer pro sdílení poolu mezi aplikacemi.

databaseconnection poolpostgresqlperformance
Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.