我正在使用 aspnetboilerplate 核心和 entityframework 核心。
我有 1 个请求实体框架核心,它很大:
var user = _userRepository.GetAll()
.Include(u => u.FavoriteMeals).ThenInclude(c => c.Category)
.Include(u => u.FavoriteRestaurants).ThenInclude(c => c.CategoryMaster)
.Include(u => u.FavoriteSpecialityMeals).ThenInclude(c => c.Speciality)
.Include(u => u.FavoriteSuperBookings).ThenInclude(c => c.Boooking)
.Include(u => u.FavouritePlaces).ThenInclude(c => c.Place)
.Include(u => u.Followers).ThenInclude(u => u.User1)
.Include(u => u.Followings).ThenInclude(u => u.User2)
.FirstOrDefault(r => r.Id == id);
我使用 AWS RDS MySQL。我可以看到当我通过 swagger 调用 API 时,与数据库的连接数增加到 58 个。
那我想知道:
与数据库有大约 60 个连接是否正常?然后我打算使用这个 api 连接到一个移动应用程序。
aws 上的最大连接数限制是每个移动设备或全球。我的意思是,如果两部手机连接到我的 api 并调用相同的 api 函数,它们会因为达到最大连接数而被阻止吗?
我该如何优化呢?
谢谢,
///// 编辑
我发现我有很多处于休眠状态的请求。
我怎样才能解决这个问题?我的代码如下:
builder.UseMySql(connectionString);
//todo
builder.EnableSensitiveDataLogging(true);
builder.EnableDetailedErrors(true);
请在我的请求结果下方找到睡眠状态