sql-server - 是否可以限制 Entity Framework 使用的连接数?

我注意到,在我们托管的 NopCommerce 网站(使用 Entity Framework )上,如果我在该网站上运行爬虫(以检查断开的链接),它会使整个网络服务器离线几分钟,并且没有其他托管网站回应。这似乎是因为 Entity Framework 正在打开 30 多个数据库连接并且每秒运行数百个查询(每个页面 View 大约 20-40 个)。

我无法更改 NopCommerce 使用 EF 的方式(这需要数周时间)或更改正在使用的 EF 的版本,因此我可以通过限制它使用的并发连接数来减轻它对 SQL Server 的影响,以提供其他托管在同一台服务器上的站点是否有更公平的数据库访问机会?

我最理想的做法是将特定应用程序的并发数据库连接数限制在 10 个左右。

最佳答案

我认为最好的办法是在连接字符串中使用 Max Pool Size 设置。这限制了连接池中的最大连接数,我认为这意味着应用程序将使用的最大连接数。但我不确定的是,如果它无法从池中获取连接,是否会导致异常。我从未尝试过以这种方式限制连接。

这里有一些关于您可以放入 ADO.NET 连接字符串的设置的阅读 Material :

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring%28v=vs.100%29.aspx

下面是关于“使用连接池”的更多阅读:

http://msdn.microsoft.com/en-us/library/8xx3tyca%28v=vs.100%29.aspx

https://stackoverflow.com/questions/12057458/

相关文章:

arm - AOSP 中的工具链

php - 来自另一个用户的 DBus

java - 如何在 MyBatis 中调用返回 Oracle 记录类型的 Oracle 函数

asynchronous - 如果它不存在,如何让nginx重试静态文件

asp.net-mvc-3 - 如何将Web应用程序转换为SaaS?

asp.net-mvc-3 - 如何将 IEnumerable 对象或数据从 View 传递到 Co

php - session 提前结束

svn - 用于将更改的文件部署到生产 Web 服务器的工具

django - 移除 ForeignKey 后迁移到第三方模型

html - 在新选项卡中打开链接(在框架设置内)