首页 > 解决方案 > 在 EntityFramework Core 中配置 SQL 连接池

问题描述

TLDR: 有没有办法控制 AspNet Core / EF CORE Sql 连接中的连接池。我需要类似的东西:

pool: {
    min: 0,
    max: 1,
    idle: 10000
}  

问题:

我有一个用 AspNetCore 3.1 构建的无服务器 api,使用 EF 核心进行数据访问。当服务器负载不重时,一切正常。但是,当我们收到中等数量的请求时,我们会用完与 SQL 服务器的连接。因为他们没有被释放。数据库没有压力。CPU / RAM / IO 都还在“休眠”并且跟上请求没有问题。

在花了一些时间阅读问题后,我找到了 2 个解决方案

我不太喜欢选项 A,因为我们已经有一个很大的实例,现在已经很大了。真的不需要浪费更多的 CPU/RAM

所以我唯一真正的选择是尝试访问连接池。

我的 Google mojo 并没有真正让我走多远,而且我在公共规范中找不到任何东西。我发现的只是很久以前博客帖子中的老式 ADO.NET。还有一些博客文章只是说明 EF Core 中的连接池很神奇,不用担心。直到现在,在无服务器环境中,我从未担心过它。

如果我们不得不离开 EF Core 真的会很讨厌,因为这将是对应用程序的重大重写。

标签: .net-coreentity-framework-core

解决方案


推荐阅读