У меня проблема с определением того, какая страница / страница / функция блокирует весь сервер IIS.
Совершенно неожиданно w3wp.exe перескакивает на загрузку процессора на 90-98%. Я создал 3 разных пула приложений, чтобы узнать, какая служба w3wp.exe блокирует процессор, но я не могу узнать эту информацию.
Я вижу только, что 2 из 3 сервисов используют 0-5%, а один через некоторое время подскакивает на 90-98%. Я думаю, что это делает какой-то процесс / функция / перенаправление / sql, но я хотел бы это устранить. Пока я даже не могу найти источник проблемы. На моей локальной машине разработки с VS2010 все работает как шарм, и я не могу воспроизвести проблему.
Сервер - это веб-сервер windows 2k3, sql server 2k5 и .net 4.0
Спасибо за вашу помощь, ссылки или любую информацию по этому вопросу.
Феро
Я создал 3 разных пула приложений, чтобы узнать, какая служба w3wp.exe блокирует процессор, но я не могу узнать эту информацию.
Что вы под этим подразумеваете? Как только вы это сделаете, вы сможете узнать, какой PID (идентификатор процесса) занимает весь ваш процессор. Затем, используя что-то вроде SysInternals Process Explorer, вы можете увидеть, какой пул приложений связан с каким PID.
/ edit - Выполняя это на одной из моих машин, я вижу, что у меня есть несколько экземпляров w3wp.exe, работающих под svchost.exe - когда я проверяю свойства svchost.exe в разделе Изображение, я вижу командную строку
C:\WINDOWS\System32\svchost.exe -k iissvcs
так что я знаю, что смотрю на IIS. Если я просматриваю командную строку для одного из процессов w3wp.exe, я вижу
c:\windows\system32\inetsrv\w3wp.exe -a \\.\pipe\iisipm58b150c3-732e-4bd0-a8ef-f5544c062674 -t 20 -ap "DemoPool"
После того как вы сузили круг до пула приложений, вам нужно применить все, что вы знаете о том, что работает в вашем пуле приложений, чтобы понять это. Вставьте немного отладки, следите за журналом, я не знаю. Если вы все еще застряли на этом этапе, вам, вероятно, следует передать вопрос в StackOverflow.