Настройка IIS httpTracing не влияет
Я пытаюсь устранить некоторые проблемы с производительностью, которые возникают у нас на конкретной странице ASP.NET с помощью Microsoft Perfecto Tool на IIS 7.5. Perfecto использует встроенные в IIS хуки ETW для создания отчетов по конкретному HTTP-запросу и работает довольно хорошо.
Однако я хочу, чтобы IIS генерировал трассировки только для одной конкретной страницы, например "Default.aspx", в моем веб-приложении TestApp. Следуя инструкциям на странице руководства httpTracing, я смогу добавить элемент traceUrls в мой корневой файл web.config для TestApp. Кажется, это не влияет на отслеживание, когда я так делаю.
Например, я использовал следующие параметры в файле web.config, и каждый запрос, который попадает на сервер IIS, отправляет сообщения трассировки, которые в свою очередь забираются Perfecto. (В разделе System.WebServer)
<httpTracing>
<traceUrls>
<add value="/Default.aspx" />
</traceUrls>
</httpTracing>
Затем я обнаружил, что файл applicationHost.config на сервере содержит пустой элемент. Я попытался удалить этот элемент, а также элемент httpTracing в web.config. После перезагрузки машины я все еще получал сообщения об отслеживании! Насколько я понимаю, присутствие элемента httpTracing определяет, включена ли трассировка ETW или нет. Я убедился, что в файле machine.config также нет ссылки на httpTracing.
В недоумении я решил удалить функцию трассировки IIS с помощью диспетчера сервера. После перезагрузки у меня больше нет трассировки ETW. Затем я переустановил функцию IIS Tracing с помощью диспетчера сервера. Как и ожидалось, элемент httpTracing снова появился в файле applicationhost.config. Трассировка сообщений снова началась отправка для всех сайтов и страниц.
Затем я попытался использовать элемент traceUrls на уровне applicationhost.config. Это также не отфильтровывает и следы.
Должно быть, я неправильно понял что-то ключевое в том, как работает httpTracing. В Интернете не так много ресурсов, чтобы помочь мне.
Может кто-нибудь сказать мне, если то, что я пытаюсь, должно работать? Кто-нибудь еще успешно фильтровал сообщения трассировки на странице с помощью traceUrls?
Я должен отметить, что я также попытался изменить следующий параметр в applicationhost.config на "разрешить". Это не помогло.
<section name="httpTracing" overrideModeDefault="Allow" />