У меня есть система ASP.NET Core (на основе платформы NopCommerce), размещенная на виртуальной машине Azure ( Стандартный размер F8s_v2 ).Приложение работает довольно гладко.Среднее время отклика составляет около 200 мс, что является приемлемым.Точно такое же приложение было размещено в службе приложений Azure ( P2v2 план).Это заметно медленнее.Среднее время отклика составляет около 500 мс.
Я сделал тонны профилирования мониторинга:
- ЦП в службе приложений Azure и на виртуальной машине низок.Один запрос дает ЦП около 5% для службы приложений и около 3% для виртуальных машин.
- Обновление плана обслуживания приложений не имеет никакого эффекта.
- Нет скачков использования памяти ни на ВМ, ни наСлужба приложений
- Операции ввода-вывода практически отсутствуют на виртуальных машинах и в службе приложений.
- И виртуальные машины, и служба приложений получили свои собственные базы данных.Оба они были поменяны местами, пытаясь выяснить детали этого поведения.Никаких различий в поведении.
- Все ресурсы находятся в одном и том же регионе.
Ничто не говорит о том, что это проблема с производительностью, связанная со службой приложения.
Я получил эту трассировку профилировщика при профилировании службы приложений: Профилирование службы приложений
Приложение имеет встроенное профилирование, реализованное с помощью MiniProfiler.Сравнение вызовов к одинаковым конечным точкам на ВМ и AppService можно найти здесь: ВМ против профилирования службы приложений
Что может быть причиной этого замедления в службе приложений?Что еще стоит проверить, чтобы дать какие-либо подсказки о том, почему время отклика отличается?