Поделиться через


Оптимизация параметров Профилировщика

Окно профилировщика производительности и средств диагностики в Visual Studio имеет множество различных параметров, влияющих на общую производительность инструментов. Изменение некоторых параметров может привести к быстрому выполнению анализа или появлению дополнительного времени ожидания при обработке результатов в средствах. Ниже приведена сводка по определенным параметрам и их влиянию на производительность.

Параметры символов

Параметры символов, доступные в настройках отладчика (Отладка > Параметры > Символы или Инструменты > Параметры > Отладка > Символы), значительно влияют на время, затрачиваемое на формирование результатов в средствах. Включение серверов символов или использование переменной _NT_SYMBOL_PATH предписывает профилировщику запрашивать символы для каждого загруженного модуля в отчете. В настоящее время профилировщик всегда автоматически загружает все символы, независимо от предпочтения автоматической загрузки символов.

Страница загрузки символов

Ход выполнения загрузки символов можно увидеть в окне Вывод под заголовком Средства диагностики.

Ход выполнения загрузки символов

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

Показать внешний код

Во многих из средств Профилировщика производительности и окна Средства диагностики используется концепция пользовательского кода (в противопоставлении внешнему коду). Пользовательский код — это любой код, созданный открытым решением или открытой рабочей областью. Внешним кодом является любой другой код. Сохраняя параметр "Показать только мой код" или отключен параметр "Показать внешний код", средства позволяют средствам агрегировать внешний код на один кадр первого уровня, значительно уменьшая объем обработки, необходимый для отображения результатов. Это позволит пользователям увидеть, что во внешнем коде привело к замедлению, и сведет к минимуму обработку данных. По возможности включите внешний код и убедитесь, что у вас есть решение или рабочая область, открытая для файла diagsession , который вы анализируете.

Для большинства средств профилирования параметр пользовательского кода присутствует в параметрах для сводной страницы отчета.

Снимок экрана:

Длительность трассировки

Профилирование меньшей длительности приводит к меньшему объему данных, что ускоряет анализ. Как правило, рекомендуется ограничить трассировку не более чем пятью минутами данных о производительности. Некоторые средства, такие как средство использования ЦП, позволяют приостановить сбор данных во время выполнения средства, чтобы ограничить объем собранных данных в сценарии, который вы хотите проанализировать.

Частота выборки

Некоторые средства, такие как Загрузка ЦП и NET Object Allocation (Распределение объектов .NET), позволяют настроить частоту выборки. Увеличение этой частоты выборки позволяет более точно измерять, но увеличивает объем созданных данных. Если не изучается конкретная проблема, для этого параметра рекомендуется оставить значение по умолчанию.

Страница свойств Центра диагностики

Страница свойств Центра диагностики

Настройка папки коллекции

Профилировщик Visual Studio использует каталог с нуля коллекции для хранения трассировок производительности до их сохранения или отмены. По умолчанию профилировщик использует временный каталог. Однако можно указать другой каталог с нуля, открыв окно "Средства диагностики" (отладка>windows>Show Diagnostic Tools), а затем выбрав пункт "Выбор параметров>инструментов>", общий>каталог царапин.

Снимок экрана: каталог с нуля профилировщика.