Оптимизация параметров профилировщика
Окно профилировщика производительности и средств диагностики в Visual Studio имеет множество различных параметров, влияющих на общую производительность инструментов. Изменение некоторых параметров может привести к быстрому выполнению анализа или привести к дополнительным времени ожидания при обработке результатов в средствах. Ниже приведена сводка по определенным параметрам и их влиянию на производительность.
Параметры символов
Параметры символов, указанные в настройках отладчика (параметры отладки > параметры > символов или средства > параметры > отладки > символов), оказывают значительное влияние на время, необходимое для генерации результатов в этих средствах. Включение серверов символов или использование _NT_SYMBOL_PATH приводит к тому, что профилировщик запрашивает символы для каждого загруженного модуля в отчете. В настоящее время профилировщик всегда автоматически загружает все символы независимо от предпочтения автоматической загрузки символов.
Ход загрузки символов можно увидеть в окне Output под заголовком Diagnostic Tools.
После скачивания символы кэшируются, что ускоряет будущий анализ, но по-прежнему требует загрузки и анализа файлов. Если загрузка символов замедляет анализ, попробуйте отключить серверы символов и очистить кэш символов. Вместо этого следует полагаться на символы, созданные локально для проекта.
Показать внешний код
Многие из средств в окне профилировщика производительности и средства диагностики имеют концепцию пользовательского кода и внешнего кода. Пользовательский код — это любой код, созданный открытым решением или открытой рабочей областью. Внешний код — это что-нибудь другое. Сохраняя параметр Показывать только мой код включённым или параметр Показать внешний код отключённым, вы позволяете инструментам объединить внешний код в один кадр первого уровня, что значительно уменьшает объём обработки, необходимый для отображения результатов. Это позволяет пользователям видеть, какой внешний код вызвал замедление, с минимальным объемом данных для обработки. По возможности включите отображение внешнего кода и убедитесь, что решение или рабочая область были открыты для файла .diagsession, который вы анализируете.
Для большинства средств профилирования параметр пользовательского кода присутствует в параметрах для сводной страницы отчета.
Длительность трассировки
Профилирование коротких интервалов времени приводит к меньшему объему данных, что ускоряет анализ. Как правило, рекомендуется ограничить трассировку не более пяти минут данных о производительности. Некоторые средства, такие как средство мониторинга использования ЦП, позволяют приостановить сбор данных во время работы средства, чтобы ограничить объем собранных данных в пределах интересующего вас сценария.
Частота выборки
Некоторые средства, такие как средство нагрузки на ЦП и средство выделения объектов .NET, позволяют настроить частоту выборки. Увеличение этой частоты выборки позволяет более точно измерять, но увеличивает объем созданных данных. Как правило, рекомендуется оставить этот параметр по умолчанию, если не рассматривается конкретная проблема.
страница свойств
страница свойств
Настройка папки коллекции
Профилировщик Visual Studio использует каталог временного хранения для сохранения трассировок производительности перед их сохранением или удалением. По умолчанию профилировщик использует временный каталог. Однако можно указать другой временный каталог, открыв окно "Средства Диагностики" (Отладка>Windows>Показать Средства Диагностики), а затем выбрав Выбрать Средства>Параметры>Общие>Временный Каталог.