Производительность WCF, Медленная для первого вызова

Мне установили сервис WCF на IIS7. Я заметил, что первый вызов к моему сервису является всегда очень очень медленным. Последующие вызовы намного быстрее и приемлемы.

Если нет никаких вызовов, выполненных к сервису в течение некоторого времени, он снова засыпает режим. После этого снова долго занимает много времени следующий вызов.

Какие-либо средства от этой проблемы?

8
задан MikeTheLiar 18 June 2015 в 16:21
поделиться

1 ответ

Это из-за управления процессами в IIS. Когда в течение определенного периода времени нет обращений, IIS освобождает ресурсы и останавливает процесс.Вот почему вы можете заметить, что он медленный для первого запроса и для запросов после долгой задержки. Потому что при первом запросе или после долгого молчания IIS загружает все с нуля. JIT-компилятор запускается и т. Д.

Также обратите внимание: Когда вы размещаете службы WCF в IIS, службы WCF пользуются всеми функциями приложений ASP.NET. Вы должны знать об этих функциях, потому что они могут вызвать неожиданное поведение в мире сервисов. Одной из основных функций является повторное использование приложений, включая повторное использование домена приложений и повторное использование процессов. С помощью консоли управления IIS вы можете настроить различные правила, если хотите, чтобы перезапуск происходил. Вы можете установить определенные пороги памяти, времени и количества обрабатываемых запросов. Когда IIS перезапускает рабочий процесс, все домены приложений в рабочем процессе также будут перезапущены

Если вам нужен автоматический запуск : Диспетчер управления службами Windows позволяет вам установить автоматический тип запуска, так что как только Windows запустится, служба будет запущена без интерактивного входа в систему на машине. Таким образом, вы можете использовать службу Windows в качестве хоста.

Более подробную информацию можно найти в Хостинг и использование служб WCF .

12
ответ дан 5 December 2019 в 11:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: