Назад | Перейти на главную страницу

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

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

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

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

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

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

Пожалуйста, дайте мне совет. Спасибо.

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

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

Чтобы отладить первопричину:

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

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