Проблема:
- Запросы работают нормально при запуске приложения.
- После того, как приложение простаивает в течение нескольких минут, все запросы EF Core становятся очень медленными (холодными). start).
- Это влияет на все запросы, а не на один.
- Группирование DbContext ()
Код: Выделить всё
AddDbContextPool - Разделение запроса ()
Код: Выделить всё
UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery) - Скомпилированные запросы и другие оптимизации проекций
Текущее решение:
Я реализовал размещенную службу, которая периодически (каждые 10 секунд) выполняет тривиальный SQL-запрос, чтобы поддерживать соединения. Это предотвращает замедление простоя при холодном запуске, но я знаю, что это не может считаться лучшей практикой.
Вопросы:
- Безопасно ли и приемлемо ли использование размещенной службы поддержания активности в EF Core 10/ASP.NET Core 10?
- Существуют ли рекомендуемые подходы, позволяющие избежать проблем с производительностью при простое при холодном запуске без полагаться на цикл поддержания активности?
- Какие методы обычно используются в рабочей среде для устранения проблем с производительностью при холодном запуске EF Core и SQL Server?
Подробнее здесь: https://stackoverflow.com/questions/799 ... alive-acce