具有 Entity Framework (Npgsql) 的 .NET Core 应用程序是否需要 PgBouncer?

Is PgBouncer needed for .NET Core applications with Entity Framework (Npgsql)?

EF 注册为作用域服务,这意味着它会创建许多到数据库的短连接。 一个 http 请求 - 一个连接。 PostgreSQL 不能很好地处理大量并发连接。比如最多100个。 使用 Entity Framework (Npgsql) 的 .NET Core 应用程序是否需要 PgBouncer? PgBouncer 管理连接池。 或者 Npgsql 可以正确管理连接池吗? 还是这仅与 Python 和 PHP 相关? 谢谢!

Npgsql 包含它自己的进程内连接池(这在 .NET 数据库驱动程序中很常见),因此使用外部连接池(如 PgBouncer)不是强制性的(尽管在某些情况下它仍然可以用于池化)跨多台客户端计算机等的连接)。