单线程应用程序的连接池

时间:2013-04-28 23:38:05

标签: python ruby concurrency connection-pooling pgpool

在运行单进程单线程应用程序时,是否有任何理由维护具有多个连接的池?

2 个答案:

答案 0 :(得分:1)

没有。除非你使用非阻塞的事件IO。

答案 1 :(得分:0)

我可以想到使用游泳池的两个理由:

1,如果应用程序访问数据库(打开,读取,然后关闭连接)频繁,如每秒100次或更多,使用池,池和真实数据库之间的连接由池维护,汇集连接实际上并非关闭/打开,然后程序的性能得到改善。

2,在场景中,应用程序使用"全局连接",在应用程序开始时打开一次,在退出时关闭。如果应用程序需要很长时间才能执行,例如10个小时,那么由于某些未知原因(间歇性网络问题?)可能会断开连接。通过使用池,池将自动重新连接到db?可能吗? 至少,当在池中创建多个连接时,在一个连接断开的不幸事件中,下一个连接将用于该应用程序。