Холодный запуск EF Core 10 после простоя — приемлемо ли использование размещенной службы для поддержания активности?C#

Место общения программистов C#
Ответить
Anonymous
 Холодный запуск EF Core 10 после простоя — приемлемо ли использование размещенной службы для поддержания активности?

Сообщение Anonymous »

У меня есть приложение ASP.NET Core 10, использующее EF Core 10 с SQL Server 2017.
Проблема:
  • Запросы работают нормально при запуске приложения.
  • После того, как приложение простаивает в течение нескольких минут, все запросы 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»