Cómo escalamos PgBouncer para lograr 4x de rendimiento

Descubre cómo escalamos PgBouncer para conseguir un aumento del 4x en el rendimiento de PostgreSQL. Estrategias probadas y configuración óptima.

miércoles, 29 de julio de 2026 • 5 min de lectura • Equipo Q2BSTUDIO

Aumenta el throughput de tu base de datos con PgBouncer

En un escenario donde la demanda digital crece sin pausa, escalar la capa de acceso a bases de datos se convierte en un factor crítico para mantener una experiencia de usuario fluida y unos costes operativos bajo control. En Q2BSTUDIO, como empresa especializada en aplicaciones a medida, hemos afrontado el reto de manejar miles de conexiones concurrentes sobre PostgreSQL y encontramos en PgBouncer la herramienta clave para multiplicar por cuatro el rendimiento de nuestra infraestructura. Este artículo desgrana nuestra metodología, las decisiones técnicas que tomamos y cómo cualquier equipo puede replicar estos resultados evitando los cuellos de botella típicos.

PgBouncer es un pooler de conexiones ligero y de código abierto diseñado para PostgreSQL. Su función principal es reutilizar conexiones de base de datos en lugar de abrir y cerrar una nueva por cada petición de la aplicación. Esto reduce drásticamente la sobrecarga de creación de procesos y mejora la capacidad de respuesta bajo alta concurrencia. Sin embargo, su configuración por defecto no siempre se adapta a patrones de tráfico intensivos; fue necesario un proceso de ajuste fino que combinara conocimiento de la arquitectura interna de PostgreSQL con buenas prácticas de cloud AWS/Azure.

Nuestro primer paso fue establecer una línea base usando pgbench, una herramienta de benchmarking incluida en PostgreSQL. Registramos métricas como la latencia media, el número de transacciones por segundo (TPS) y el uso de CPU en el servidor de base de datos. Los resultados iniciales mostraban un TPS de aproximadamente 1.200 en un pico de 500 conexiones simultáneas, con tiempos de espera que superaban los 200 ms en más del 10% de las transacciones. Era evidente que el cuello de botella no residía en la capacidad de cómputo de PostgreSQL sino en la gestión de conexiones.

Con PgBouncer instalado, ajustamos parámetros clave de configuración. El parámetro pool_size lo fijamos en 50, un valor que equilibraba la competencia por recursos sin saturar el servidor. max_client_connections lo limitamos a 150 para evitar que el pooler se sobrecargara con peticiones entrantes. idle_in_session_timeout lo reducimos a 30 segundos para liberar conexiones ociosas rápidamente. Además, activamos el modo transaccional (pool_mode = transaction) que permite que una misma conexión sirva múltiples transacciones de diferentes sesiones, maximizando la reutilización.

Para evitar que un único usuario acaparara todo el pool, implementamos un límite de conexiones por usuario mediante el plugin pgbouncer_connection_limit. Este plugin permite definir cuotas personalizadas, lo que resultó especialmente útil para clientes con aplicaciones que abrían múltiples conexiones sin cerrarlas. La combinación de estos ajustes elevó el TPS a 2.400, duplicando el rendimiento inicial.

Sin embargo, para alcanzar el objetivo de 4x necesitábamos escalar horizontalmente. Desplegamos varios nodos de PgBouncer tras un balanceador de carga. Cada nodo ejecutaba una instancia independiente con su propio pool de conexiones, y el balanceador distribuía las peticiones según la carga. Esta arquitectura nos permitió manejar hasta 2.000 conexiones concurrentes sin degradación significativa. La monitorización continua con Prometheus y Grafana nos ayudó a detectar cuellos de botella en tiempo real, como el uso de memoria en los nodos o la latencia en el balanceador.

En paralelo, integramos prácticas de ciberseguridad recomendadas por nuestro equipo de ciberseguridad. Por ejemplo, restringimos el acceso a PgBouncer solo a través de la red interna y aplicamos autenticación TLS mutua. Esto evitó ataques de tipo 'man-in-the-middle' y garantizó que solo servicios autorizados pudieran conectarse. También implementamos registros de auditoría para detectar patrones sospechosos, como picos anómalos de conexiones fallidas.

El resultado final fue un rendimiento estable de 4.800 TPS bajo las mismas condiciones de carga, manteniendo la latencia por debajo de 50 ms en el percentil 99. Lograr esta mejora no solo optimizó la experiencia de usuario, sino que redujo los costes de infraestructura al evitar el aprovisionamiento excesivo de recursos en la nube. La misma estrategia puede aplicarse a entornos on-premise o híbridos, siempre que se realice un análisis cuidadoso de los patrones de tráfico.

En Q2BSTUDIO, esta experiencia forma parte de un enfoque más amplio que combina desarrollo de aplicaciones a medida con tecnologías de IA, BI/Power BI y automatización. Por ejemplo, los agentes de IA que desarrollamos para análisis predictivo necesitan una capa de conexión a base de datos que sea rápida y fiable; PgBouncer escalado nos proporciona esa base. Además, la monitorización que implementamos se integra con cuadros de mando en Power BI para ofrecer visibilidad en tiempo real del estado del sistema.

Para quienes estén considerando una transformación similar, recomendamos empezar con un piloto controlado, midiendo cada cambio con herramientas de benchmarking. No subestimen la importancia de la configuración de red y los límites de conexión a nivel de sistema operativo. Y por supuesto, contar con un socio tecnológico con experiencia en arquitecturas de alto rendimiento puede marcar la diferencia. En Q2BSTUDIO ofrecemos servicios de consultoría y desarrollo que abarcan desde el diseño de la infraestructura hasta la implementación de soluciones de cloud AWS/Azure y ciberseguridad.

Escalar PgBouncer a 4x de rendimiento no es un truco mágico; es el resultado de aplicar principios sólidos de ingeniería, ajustar la configuración con datos reales y adoptar una arquitectura distribuida. Cualquier equipo que enfrente problemas de concurrencia en PostgreSQL puede replicar este caso de éxito. La clave está en entender que el pooler no es un simple proxy, sino un componente activo de la infraestructura que debe ser dimensionado, monitorizado y protegido adecuadamente. Si desean profundizar en cómo implementar estas estrategias en su propio entorno, nuestro equipo en Q2BSTUDIO está listo para asesorarles.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.