.NET CORE MySql MaxPoolSize 未应用

Posted

技术标签:

【中文标题】.NET CORE MySql MaxPoolSize 未应用【英文标题】:.NET CORE MySql MaxPoolSize not applied in 【发布时间】:2018-05-20 20:16:47 【问题描述】:

我们有一个托管在 RDS 中的 mysql 数据库。创建 MySQL 连接时,似乎没有应用最大池大小。 我们有一个看起来像这样的连接字符串

Server=myServer;Port=3306;Database=MyDatabase;User Id=MyUser;Password=MyPassword;ConnectionReset=True;pooling=true;minpoolsize=1;maxpoolsize=4;ConnectionLifeTime=30"

我们在此处添加最大池大小,但我们的应用程序仍然占用太多连接。 我已经在 MySqlWorkbench 中使用命令验证了这一点

select * FROM INFORMATION_SCHEMA.PROCESSLIST

我们正在以正常方式创建 sql 连接.. 我做错了什么?

var connection = new MySql.Data.MySqlClient.MySqlConnection(_connectionString);
connection.Open()

技术信息: MySql 服务器版本:5.7.16

MySqlConnector:(Nuget 包)-> MySql.Data Version="7.0.6-ir31"

更新:

在单元测试中执行此操作并并行打开 MySQL 连接时,一切似乎都很好。但是,当 Web 请求通过 ASP.NET Core 进入时,似乎存在问题。

【问题讨论】:

您找到解决方案了吗?我们遇到了同样的问题 【参考方案1】:

我也遇到过类似的情况。使用运行 .net 核心的负载平衡 ec2 实例时,最小和最大池大小似乎不起作用。在我的情况下,它正在击中 aurora mysql。

问题似乎与在不同的 ec2 实例上具有不同的最小和最大设置的不同连接字符串有关。似乎混淆了池的最小值和最大值。

解决方法(或修复)是确保所有 ec2 实例上的最小和最大池设置相同。正在访问数据库集群。

【讨论】:

以上是关于.NET CORE MySql MaxPoolSize 未应用的主要内容,如果未能解决你的问题,请参考以下文章

八.net core mysql数据库操作

.Net Core MySql

.NET Core 使用Dapper连接MySql

.NET Core开发日志——Dapper与MySQL

在Asp .net core 中使用配置mysql

.NET CORE MySql MaxPoolSize 未应用