数据库连接数过万的真相,原来我们错怪阿里云RDS了
在一次数据库连接问题中,我们坚持认为数据库连接数过万是阿里云RDS的问题,但后来阿里云提供了当时的数据库连接情况,让我们动摇了自己的想法。 上面这5个帐户产生了10030个数据库连接,当看前4个帐户(产生了9511个连接)的名称时,我们打了一个寒颤 —— 这些都是运行 Linux 上的 ASP.NET Core 站点。。。这不是巧合,其中必有蹊跷。随后,我们观察了主备库切换后的 RDS 中数据库连接情况。有一个运行在 Linux 上的 ASP.NET Core 站点,用了3台服务器,却产生了1528个数据库连接。 SELECT * FROM sys.sysprocesses WHERE loginame='xxx' 重启其中1台服务器上的站点,连接数立马从1528降到了391。什么情况?数据库连接池发飙了?继续观察,当前数据库中大量的连接都是由运行在 Linux 上的 ASP.NET Core 站点产生的,而且会随着时间的推移保持增长。 数据库连接泄漏了,这还是第1次遇到!可我们在 APS.NET Core 应用中所有的数据库操作都用的是Entity Framework Core,不存...