Возможно ли предварительное нагревание приложения?

Когда вы запускаете dotnet run в своем приложении MVC6, для первого запроса требуется много времени, но тогда он явно работает нормально. Я пытался найти ответы в Google, но это невозможно, потому что все, что я получаю, это статьи о IIS, которые я вообще не использую. На самом деле я запускаю код на Ubuntu.

Возможно ли предварительное нагревание dotnet run, поэтому первый запрос будет таким же быстрым, как второй?

Ответ 1

Несколько предложений:

  • Используйте сборку Release, чтобы код был оптимизирован для использования в целях производства, а не для отладки (dotnet run --configuration Release)
  • Инициируйте первое подключение самостоятельно, поэтому все последующие запросы от ваших клиентов "теплые"
  • Скомпилируйте с использованием флага --native, затем разместите результаты для дальнейшего использования оптимизации производительности.

Наконец (и этот момент является чистой спекуляцией), потенциально посмотрите на запуск опубликованного веб-сайта на хосте веб-сервера производства (например, Apache или IIS), а не на dotnet cli. Это может обеспечить повышение производительности, но, безусловно, предложит "потепление" функций, которых нет в CLI (я знаю, что IIS имеет параметр "Всегда включено" ).