我正在使用Npgsql.EntityFrameworkCore.PostgreSQL v2.1(依次使用Npgsql 4)连接到具有四个正在运行的节点的Aurura群集。
当我将连接池与Npgsql一起使用时,我注意到四个节点中的两个接收了大多数查询。看起来Npgsql正在广泛地重新使用连接,而没有利用所有四个节点。
如果我关闭连接池,查询将在所有四个节点上更均匀地分布,但是由于每个请求都有新的连接,因此性能受到了影响。
连接字符串池options是-
我对它的阅读表明,如果某个连接在一段时间内没有空闲,它将被重用,这反映了我所看到的行为。我经常访问数据库,因此连接永远没有时间过期。
在早期版本的Npgsql中,可以选择在特定时间段后退出连接,而忽略连接是否空闲。
问题:
有没有一种方法可以从Npgsql v4或更高版本的连接池中退出不空闲的连接?