<div dir="ltr">Hi,<div><br></div><div>Love the product so far but have run into a few bugs that will soon be showstoppers for us.  Here&#39;s what we&#39;ve found:</div><div><br></div><div>Our application provides persistent connections to a web socket app, potentially supporting hundreds of concurrent users.  At one site we have num_init_children set to 2048 because we are replicating hundreds of databases across four different master-slave postgres nodes.  The problem here isn&#39;t really a big deal, but it&#39;s something that should be worked out because no similar server-side software still possesses thundering-herd type issues like we do with pgpool.  Our typical load averages for the pgpool master is around 200-400.  CPU idle is fine, so we&#39;re not concerned other than our load average statistics for that host are out of whack.</div><div><br></div><div>Secondly, we have two-postgres-node setup with tens of databases and num_init_children set to 512.  It is basically the same application but for a different site.  What happens here is far more concerning: when we see about 60+ concurrrent users (and hence have about 200 pgpool backend connections) pgpool stops correctly shipping write queries to the master.  Instead it ships a certain percentage to the slave, which breaks our application completely.</div><div><br></div><div>Of the two, my real concern lies with the second situation as users are impacted by pgpool&#39;s behavior during heavy load periods.  This doesn&#39;t seem to happen under light load with less than 20 users and hence less than 100 backend connections.</div><div><br></div><div>Anyone seen anything similar and know how to workaround it?  For kicks here are my whitelist rules for sql functions:</div><div><br></div><div><div>white_function_list = &#39;random,count,extract,date_part&#39;</div><div>                                   # Comma separated list of function names</div><div>                                   # that don&#39;t write to database</div><div>                                   # Regexp are accepted</div><div>black_function_list = &#39;currval,lastval,nextval,setval,.*&#39;</div><div>                                   # Comma separated list of function names</div><div>                                   # that write to database</div><div>                                   # Regexp are accepted</div></div><div><br></div><div><br></div></div>