IIS: Час очікування в режимі очікування проти переробки


97

У IIS є дві області (ну, більше двох), де може відбуватися переробка:

  1. У розділі "Модель процесу" → "Час очікування в режимі очікування" (за замовчуванням 20 хвилин)

і

  1. У розділі "Утилізація" → "Звичайний інтервал часу" (за замовчуванням 1740 хвилин)

Мої запитання:

  1. У чому різниця між двома методами?
  2. Які негативні наслідки має значення їх значення 0?

Відповіді:


97

Час очікування в режимі очікування, якщо з вашої веб-програми не було запропоновано жодних дій, це припинить процес і звільнить все з пам'яті

Утилізація - це примусова дія щодо програми, де оброблена інформація закривається та запускається заново, з метою витоку пам’яті та стану системи

Негативний вплив обох, як правило, полягає у використанні вашого стану сеансу та програми, якщо ви швидше возитиметеся з Recycle. (Зареєстровані користувачі тощо будуть вийти з системи, якщо вони, де збираються "перевірити", все було б втрачено ", тому переробка має таке велике значення тайм-ауту, час очікування простою не має значення, оскільки в будь-якому випадку ніхто не увійшов в систему, і 20 хвилин без дії вони все ще не" роблять покупки "

Позитивом було б позбавлення від простою, оскільки ваш веб-сайт швидше реагуватиме на свою «першу» відповідь, якщо це не дуже активний сайт, де користувачеві доведеться чекати його завантаження, якщо у вас є 1 користувач кожні 20 хвилин. сказати. Отже, веб-сайт, який отримує його менше 1 разу за 20 хвилин, насправді ви хотіли б збільшити це значення, оскільки веб-сайт повинен завантажуватися знову з нуля для кожного користувача. але якщо ви встановите для цього значення 0 протягом тривалого часу, будь-який витік пам'яті в коді може через певний проміжок часу повністю захопити сервер.


Дякую! Що має сенс. Моя головна дилема полягає в тому, що "перше завантаження" триває дуже довго. Я думав, що якщо встановити для них обидва значення 0, я зможу це обійти. Однак проблема витоку пам'яті є проблемою. Чи є спосіб "переробити", але потім "примусити" запит так, щоб "перший час доступу" закінчився і закінчився відразу після переробки? А може, запланувати переробку на 2 години ночі, а потім запланувати "перший доступ" на 02:30? Чи є спосіб у IIS це зробити?
Рікі

@Ricky Я теж отримував першу проблему-вік-вік. Вам потрібно встановити для пулу додатків startMode режим AlwaysRunning: msdn.microsoft.com/en-us/library/ee677285%28v=azure.10%29.aspx
Стів Хібберт,

Це було корисно і мені: simple-talk.com/blogs/2013/03/05/…
Стів Хібберт

3
@Silvermind - Якщо сеанс зберігається в процесі, він не буде скопійований при переробці. Дивіться тут .
BornToCode

31

Від сюди :

Один із способів збереження системних ресурсів - це налаштування параметрів тайм-ауту простою для робочих процесів у пулі програм. Коли ці параметри налаштовано, робочий процес завершиться після певного періоду бездіяльності. Значення за промовчанням для часу очікування - 20 хвилин.

Також перевірте, чому для переробки пулу додатків IIS за замовчуванням встановлено значення 1740 хвилин?

Якщо у вас є кілька сайтів на вашому сервері, і ви хочете, щоб вони завжди завантажувались швидко, встановіть це на нуль. В іншому випадку, коли у вас є 20 хвилин без будь-якого трафіку, пул додатків припиниться, щоб він міг знову запуститися під час наступного відвідування. Проблема полягає в тому, що під час першого відвідування пулу програм потрібно створити новий робочий процес w3wp.exe, який є повільним, оскільки потрібно створити пул програм, завантажити ASP.NET або інший фреймворк, а потім додаток бути завантаженим. Це може зайняти кілька секунд. Тому я встановлюю значення 0 при кожному можливості, якщо це не стосується сервера, який розміщує багато сайтів, які не завжди повинні працювати.


6

Зараз IIS має

Idle Time-out Action : Suspend налаштування

Призупинення просто заморожує процес, і це набагато ефективніше, ніж руйнування процесу.


0

Я успадкував настільний додаток, який здійснює дзвінки до ряду веб-служб у службі IIS. Веб-служби (також) повинні мати можливість запускати синхронізовані процеси самостійно (без включення клієнта). Тому всі вони мають таймери. Таймери веб-сервісу вимикалися (витік пам'яті?), Тому ми встановили час очікування на 0, а таймери залишаються включеними.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.