Я размещаю приложение на Azure для тестирования. Однако многие API-вызовы становятся очень медленными, хотя производительность, похоже, совсем не увеличивается. Один вызов API, который занимает 170 мс локально с IIS Express и SQL Server Express, занимает 14485 мс на Azure. Тестовые данные точно такие же. Происходит много включений, но необходимы данные, и запрос будет еще медленнее, если их нет.
Почему запрос / вызов API намного медленнее в Azure? Я мог бы понять это, если бы производительность смотрела, но ни один параметр не превысил 60%.
Код:
var results = db.ElectoralDistrictResults
.AsNoTracking()
.Where(x => x.ElectoralDistrict.Code == addressViewModel.ElectoralDistrictCode)
.Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.ConstituencyResult.CountyResult.Election.Votes.Select(y => y.Party))
.Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.ConstituencyResult.CountyResult.Election.ElectionTurnout)
.Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.ConstituencyResult.CountyResult.Votes.Select(y => y.Party))
.Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.ConstituencyResult.CountyResult.ElectionTurnout)
.Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.ConstituencyResult.CountyResult.County)
.Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.ConstituencyResult.Votes.Select(y => y.Party))
.Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.ConstituencyResult.ElectionTurnout)
.Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.Votes.Select(y => y.Party))
.Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.ElectionTurnout)
.Include(x => x.MunicipalityElectoralDistrictResult.Votes.Select(y => y.Party))
.Include(x => x.MunicipalityElectoralDistrictResult.ElectionTurnout)
.Include(x => x.ElectionTurnout)
.Include(x => x.Votes.Select(y => y.Party))
.Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.Municipality.County)
.Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityElectoralDistrict)
.Include(x => x.ElectoralDistrict)
.ToList();
Производительность:
Служба приложений:
Basic: 1 Medium
B2
2x cores
200 total ACU
3.5 GB memory
A-Series compute
База данных Azure Standard с 50 DTU (S2).
Запрос локального хоста занимает 170 мс
Запрос на обслуживание приложения занимает 14485 мс
Вызов базы данных localhost:
База данных вызова Azure База данных: