IIS 7 - рабочий процесс более одного

Если я установлю рабочий процесс равным 1, мой пул приложений зависнет. если я установлю как минимум 6, все работает нормально.

но каждая статья, которую я читаю, говорит: "Не устанавливайте больше 1"

Итак, в этой практике я ошибаюсь? или кто не прав?

Конечно, я хотел бы использовать меньше памяти, процессор. и еще одна причина, по которой я ненавижу больше рабочих процессов, это сессии. это действительно раздражает меня.

сайт, который работает под пулом приложений, имеет более 20000 посетителей онлайн, я попытался отладить файлы дампа, но ничего интересного не нашел

Пожалуйста, дайте мне совет. благодарю вас.

1 ответ

Скорее всего, число с низким N зависает из-за состояния гонки в вашем коде.

С MaxProcesses=6 вы снижаете уровень параллелизма внутри процесса, отправляя меньше запросов большему количеству рабочих процессов.

Для отладки первоначальной причины:

  • Настроить на 1 рабочий процесс
  • Дождитесь зависания - возможно, вы захотите включить OrphanWorkerProcess для пула приложений, чтобы оставить зависший w3wp в памяти после его повторного использования.
    • по-видимому, он перерабатывается, когда висит, верно? Сбой проверки связи, помеченные как неотвечающие события в журналах событий приложений и системы?
  • Захватить дамп памяти процесса, пока он находится в подвешенном состоянии
  • Загрузите этот дамп в DebugDiag 1.2 и посмотрите, что он предлагает

Как вы получили дамп памяти? (как правило, вы должны использовать отладчик той же разрядности, что и рабочий процесс, чтобы получить от него полезную информацию).

Другие вопросы по тегам