Hola Francisco, El jue, 6 jun 2024 a las 14:04, Francisco Peña (< franciscopenar1...@gmail.com>) escribió:
> Hola a tod@s, > > Estoy presentando un problema con el manejo de conexiones a nivel de > pgpool, me está arrojando el siguiente error en el log de pgpool. > > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > [[No Connection]] LOG: child exiting, 100 connections reached > > Adjunto configuración actual de los parámetros correspondientes al manejo > de conexiones. > > process_management_mode = dynamic > num_init_children = 900 > min_spare_children = 10 > max_spare_children = 20 > max_pool = 4 > #child_life_time = 3min > child_max_connections = 100 > connection_life_time = 180 > client_idle_limit = 180 > > En postgres tengo configurado el max_connections = 1000. > > Agradecería alguna sugerencia acerca de una mejora en la > configuración para evitar este error de conexiones rechazadas. > Mencionar además, que actualmente no se han superado las 300 conexiones > activas. > > Saludos. > Lo que te muestra no es un mensaje de error sino un mensaje de nivel LOG. En este caso pgpool te está informando que uno de sus procesos hijo llegó al límite establecido por child_max_connections y por eso está matando un proceso hijo (child) de pgpool. Cuando esto ocurre, pgpool inicia inmediatamente un nuevo proceso hijo. De acuerdo a la documentación, esto es un mecanismo de pgpool "para prevenir fugas de memoria y otros errores inesperados en los procesos hijo de pgpool". La forma predeterminada de hacer esto es mediante un límite de tiempo usando child_file_time, pero también se puede hacer como lo estás haciendo con child_max_connections. El número configurado en este parámetro no es "conexiones concurentes" sino más bien conexiones en total. Una vez que un proceso hijo de pgpool ha servido 100 conexiones, cumple su ciclo de vida y es terminado, dando paso a un nuevo proceso. Personalmente no vería mal esta configuración, a menos que estés experimentando algún tipo de inconveniente. Coméntanos si es así. Saludos, -- Carlos Chapi