Нет, ответ на мой второй вопрос - не зима.
Предисловие:
В последнее время я проводил много исследований Entity Framework, и что-то, что меня беспокоит, - это его производительность, когда запросы не разогреваются, так называемые холодные запросы.
Я просмотрел статью о производительности для Entity Framework 5.0. Авторы представили концепцию теплых и холодных запросов и их различия, что я тоже заметил, не зная об их существовании. Здесь, наверное, стоит упомянуть, что за моей спиной всего полгода опыта.
Теперь я знаю, какие темы я могу дополнительно изучить, если хочу лучше понять фреймворк с точки зрения производительности. К сожалению, большая часть информации в Интернете является устаревшей или чрезмерно субъективной, поэтому я не могу найти какую-либо дополнительную информацию по теме запросов « Теплый или холодный» .
В основном, что я заметил до сих пор, так это то, что всякий раз, когда мне нужно перекомпилировать или повторять попадания, мои первоначальные запросы становятся очень медленными. Как и ожидалось, любое последующее чтение данных происходит быстро ( субъективно ).
Мы будем переходить на Windows Server 2012, IIS8 и SQL Server 2012, и, будучи младшим, я действительно получил возможность протестировать их раньше остальных. Я очень рад, что они представили модуль разминки, который подготовит мое приложение к этому первому запросу. Однако я не уверен, как продолжить разогрев Entity Framework.
То, что я уже знаю, стоит сделать:
- Создавайте мои просмотры заранее, как было предложено.
- Со временем перенесу свои модели в отдельную сборку.
Что я считаю своим делом, исходя из здравого смысла, вероятно, неправильным подходом :
- Выполнение фиктивных данных для чтения при запуске приложения, чтобы разогреть, сгенерировать и проверить модели.
Вопросы:
- Каков наилучший подход к обеспечению высокой доступности моей Entity Framework в любое время?
- В каких случаях Entity Framework снова становится "холодным"? (Перекомпиляция, повторное использование, перезапуск IIS и т. Д.)