c# - .NET CORE MySql MaxPoolSize 未应用于

标签 c# mysql connection-pooling mysql-connector rds

我们有一个托管在 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()

current_connections

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

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

更新:

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

最佳答案

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

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

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

关于c# - .NET CORE MySql MaxPoolSize 未应用于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47682941/

相关文章:

grails - 将 org.apache.tomcat.jdbc.pool.DataSource 转换为 org.apache.commons.dbcp.BasicDataSource

java - IntelliJ 中如何使用 Tomcat 类?

c# - 调用 ToString ("YYYY-mm-dd") 导致错误的日期格式

c# - 按列表行中单词的出现次数排序 linq

c# - 在 Linq 中检查两个日期是否相等的优雅解决方案(第二个日期不是参数)

c# - 我怎样才能打开IE窗口最大化c#

mysql - 如何将SQL表结构生成为文本表?

MYSQL left join 多个字段

java - 在 Java EE 的 Session.vs. 中保存连接连接池

mysql - *实际*精确的 MySQL 全文搜索