我们有一个托管在 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 传入时,似乎存在问题。
最佳答案
我也遇到过类似的情况。使用运行 .net core 的负载平衡 ec2 实例时,最小和最大池大小似乎不起作用。就我而言,它正在攻击 aurora mysql。
该问题似乎与不同 ec2 实例上具有不同最小和最大设置的不同连接字符串有关。它似乎混淆了池的最小值和最大值。
解决方法(或者可能修复)是确保所有 ec2 实例上的最小和最大池设置相同。正在访问数据库集群。
关于c# - .NET CORE MySql MaxPoolSize 未应用于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47682941/