IIS App Pool Високе використання процесора, незважаючи на запити


10

Нещодавно я перемістив набір серверів Windows Server 2008 R2 / IIS 7.5 на нові сервери під управлінням Windows Server 2012 / IIS 8.

Я відчуваю деяку дивну поведінку від IIS. У нас є 2 однакових сервери, на кожному сервері працює 2 веб-сайти, кожен у своєму власному пулі додатків. Код для кожного з веб-сайтів ідентичний. (Буквально ... ті ж DLL і все, лише трохи інша конфігурація).

Пул додатків встановлюється для повторного використання за графіком кожні 24 години, але протягом цього 24-годинного періоду використання процесора робочого процесу w3wp підскакує з кроком 12,5% (сервер має 8 процесорів, тому я не думаю, що це збіг обставин).

Як тільки використання процесора стрибне вгору, воно НЕ буде повертатися вниз, поки додаток не переробляється. Наскільки я можу сказати, програма наразі нічого не робить і не обробляє NO запитів. Я можу заблокувати весь трафік на сервері, і використання процесора просто залишиться там. Я навіть можу РЕСТАРТУВАТИ веб-сайт, і використання процесора залишається таким же. Єдиний спосіб відновити використання процесора - це переробити або перезапустити пул додатків, на якому він працює.

Я дещо впевнений, що ця проблема не має нічого спільного з моїм кодом, але якась погана конфігурація IIS або зміна IIS 8, яка погано працює з конфігурацією обладнання або щось таке?

Не впевнений, важливо це чи ні, але це хмарні сервери Rackspace Performance.

Ось скріншот, який показує навантаження процесора з часом на ці сервери (зелені стрілки вказують на часи, коли пул додатків переробляється. Ви можете бачити, що кожне плато є невід'ємним кратним 12,5%:

введіть тут опис зображення

Хтось спостерігав таку поведінку? Я знайшов це запитання з 2009 року, коли хтось із тим, що видається тим самим, що стосується IIS 6:

IIS w3wp, використовуючи високий процесор без трафіку

Будь-яка допомога дуже цінується

Відповіді:


1

Були точно такі ж проблеми з Sharepoint 2013 та IIS 8 2012 року ... Ми ніколи не вирішували проблеми, а натомість перейшли до SP2013 на R2 2008 року, і все було добре.


2
людина. після всієї роботи, яку я просто вклав у міграцію, це не відповідь, на яку я сподівався ...: /
Leland Richardson

1

Ви можете спробувати скористатися інструментом діагностики налагодження, щоб відстежити, що викликає проблему. Зазвичай це для усунення несправностей та витоку пам’яті, але може допомогти знайти, який компонент викликає проблему.


HOW програмно використовувати інструмент діагностики налагодження коли high CPU or RAM more 90%?
Кікенет

@Kiquenet Ви можете спробувати зняти процес пам'яті, а потім проаналізувати його на іншій машині. Я зіткнувся з подібною проблемою і зміг захопити дамп за <1 хв на сервері при ~ 100% використанні процесора
Piyush Saravagi

так, тоді захопіть дамп за <1 хв на сервері при ~ 100% використанні процесора програмно ?
Кікенет

1

Це дійсно схоже на якийсь код, застрягший у нескінченному циклі.

Надходить запит, IIS починає його обслуговувати, щось (ймовірно, помилка) запускає таку поведінку, робоча нитка входить у нескінченний цикл і прив’язує центральний процесор до 100%, а потім просто залишається таким чином, поки пул додатків не буде перероблений.

Навіть якщо нових запитів не надходить, процесор залишається у використанні, оскільки застрягла нитка ніколи фактично не припиняється.

Іноді новий запит запускає цю поведінку знову , і тоді ви отримуєте два застряглих процесора (або три, або чотири ...).

Знову рециклінг пулу додатків припиняє всі робочі потоки, таким чином проблема вирішується ... поки це не повториться.


0

Ви можете приєднати процесор CPU до процесу w3wp і подивитися, що там відбувається. Ви повинні мати можливість бачити, що споживає цикли процесора.


як приєднати CPU-профілер до процесу w3wp програмно, коли високий процесор чи оперативна пам’ять більше 90% ?
Кікенет

0

Схоже на мене нескінченну петлю. Я бачив це кілька разів, незважаючи на те, що IIS заявив, що немає невирішених запитів. Я не впевнений, як це може бути, але саме це ти побачив би. Важкою частиною є те, що IIS не записує запити, поки вони не завершаться, тому з’ясувати, який запит викликає цю поведінку, важко.

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