Изоляция безудержного процесса в IIS - PullRequest
1 голос
/ 24 декабря 2008

У меня есть веб-сервер, который привязан, и я смог изолировать его для конкретного экземпляра веб-сайта. Я хотел бы копнуть глубже и изолировать конкретную страницу / процесс, который вызывает проблему .. Любые советы?

Ответы [ 5 ]

2 голосов
/ 24 декабря 2008

Вы можете взять дамп памяти процесса и ковыряться с помощью windbg.

На эту тему постов из блога Тесс Феррандез. Просто делай, как она говорит.

0 голосов
/ 31 декабря 2008

Это оказалось проблемой SQL (sql 2005). Решение было найдено с помощью монитора активности SQL для определения приостановленного процесса с типом ожидания Async_network_io. Затем мы запустили средство профилирования SQL, чтобы сузить его до двух крупных запросов, которые возвращали слишком много результатов.

0 голосов
/ 31 декабря 2008

Измените настройки своего веб-сада на 10 или выше. Затем следите за использованием процессора и памяти на веб-сервере.

Продолжайте увеличивать настройки веб-сада до тех пор, пока приложение не станет полностью отзывчивым со средним коэффициентом использования менее 5% ИЛИ фактически не увеличит объем памяти веб-сервера.

UPDATE

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

0 голосов
/ 24 декабря 2008

Вы должны попробовать использовать профилировщик, чтобы определить, что использует больше всего ресурсов. Я использовал dotTrace Profiler , хотя это может быть дорого, если у вас ограниченный бюджет.

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

Вы действительно должны использовать любой профилировщик, а не просто dotTrace. У меня просто есть опыт работы только с этим.

0 голосов
/ 24 декабря 2008

Какую версию IIS вы используете? Некоторые из более высоких допускают разделение того, какой процесс используется для обработки запросов, таких как рабочий процесс, и таким образом вы могли бы выделить немного больше. Я бы также предложил прочитать журналы IIS, чтобы увидеть, какие запросы обрабатывались, сколько времени они занимали и т. Д.

В каждой версии IIS есть много разных причуд. У действительно низких моделей была только функция запуска / остановки, но новые действительно дали администраторам гораздо больше контроля и мощности, ИМО.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...