Я недавно развернул приложение ASP.NET на своем блестящем новом VPS, и хотя я доволен общим повышением производительности, которое VPS может дать по сравнению с решением общего хостинга, я недоволен временем запуска моего применение.
Мое веб-приложение запускается довольно долго, когда мой клиент впервые его запускает. Я не запускаю его в режиме отладки (отключено в моем файле web.config), и при запуске у него нет никакой реальной работы - у меня нет кода в обработчике событий запуска моего приложения, я не запускаю лишние темы, ничего. При первом обращении моего клиента к моему заявлению на ответ требуется от 15 до 20 секунд. Последующие звонки занимают 1-2 секунды, если я не подожду несколько минут, чтобы закрыть приложение. Затем возвращается время запуска 15-20 секунд.
(я знаю, что мой тест времени очень ненаучный, эти цифры должны просто дать представление о производительности при запуске моего приложения).
Насколько я понимаю, ASP.NET заключался в том, что IIS (в данном случае 7.0) компилирует веб-приложение при первом его запуске, а затем кэширует эти двоичные файлы до тех пор, пока не изменится веб-приложение. Мое понимание неверно?
Итак, после этого предисловия размером с книгу, вот мои вопросы:
- Неужели мое понимание компиляции ASP.NET неверно? Как это на самом деле работает?
- Есть ли способ заставить IIS кэшировать мои двоичные файлы или поддерживать приложение в течение неопределенного времени?
- Если это плохая идея сделать что-то из моего предыдущего вопроса, почему это плохая идея, и что я могу сделать вместо этого, чтобы увеличить производительность при запуске?
Спасибо!
Редактировать: Похоже, мой вопрос является незначительной копией этого вопроса (я подумал, что лучше справился с поиском ответа на этот вопрос, ха-ха). Однако я думаю, что мой вопрос является более всеобъемлющим, и я был бы признателен, если бы он не был закрыт как дубликат, если нет более качественных, уже заданных здесь вопросов, касающихся этого.