Просмотр сведений о чтении и записи файлов для повышения производительности
Статья
Средство Файловая операция ввода-вывода предоставляет сведения о чтении и записи файлов во время сеанса профилирования. Файлы автоматически создаются в отчете после сбора и упорядочиваются по целевому процессу с отображением сводных данных.
Настройка
Откройте профилировщик производительности (ALT+F2) в Visual Studio.
Установите флажок Файловая операция ввода-вывода.
Примечание
Если инструмент недоступен для выбора, снимите флажки для всех остальных инструментов, так как некоторые из них должны работать в одиночку. Дополнительные сведения о совместной работе инструментов см. в статье Использование средств профилирования из командной строки.
Если инструмент все равно недоступен, проверьте соответствие проекта предварительным требованиям. Убедитесь, что проект находится в режиме выпуска для записи данных с максимальной точностью.
Нажмите кнопку Пуск, чтобы запустить средство.
При появлении запроса нажмите Да.
После его запуска просмотрите сценарий, который вы хотите профилировать в приложении. Затем выберите Остановить сбор или закройте приложение, чтобы просмотреть данные.
Анализ отчета о файловой операции ввода-вывода
Выберите Операции чтения файлов, чтобы просмотреть все операции чтения файлов на одной странице, и выберите Операции записи файлов, чтобы просмотреть операции записи. Если щелкнуть правой кнопкой мыши одну из строк, можно перейти к источнику в коде. Если агрегатная строка считывалась несколько раз, разверните ее, чтобы просмотреть отдельные операции чтения для этого файла с определенной частотой.
Коэффициент дублирования для чтения отдельного файла — это количество байтов, считываемых из файла, деленное на значение размера файла. Для операции агрегатного чтения — это общее количество байтов, считываемых из файла, деленное на значение среднего размера файла во всех операциях чтения. Та же логика применяется для операций записи файлов. Коэффициент дублирования показывает, считываете ли вы или записываете из файла больше, чем нужно. Если коэффициент дублирования составляет 3x, значит количество байтов, считываемых из файла, в 3 раза больше размера самого файла. Это может свидетельствовать о том, что вы считываете и обрабатываете больший объем, чем думаете. Это позволяет выявить место, где кэширование результатов чтения и обработки файлов может улучшить производительность вашего приложения.
Дважды щелкните любой файл, чтобы загрузить его в представление Обратные трассировки. Это представление загружается для любого файла в операциях чтения или записи, что позволяет узнать, в каком месте в коде происходит чтение или запись.
Примечание
В настоящее время поддерживаются только варианты "Прочитанные данные", "Записанные данные" и "Количество".
Примечание
Кэширование данных чтения файла является некорректным исправлением, так как его уже выполняет ОС. Вместо этого следует кэшировать то, во что преобразуются считанные файлы.
Используйте средство счетчиков .NET в Профилировщике производительности Visual Studio, чтобы визуализировать счетчики dotnet с течением времени и лучше понять данные.
С помощью инструмента .NET Async можно проанализировать производительность асинхронного кода. Для каждой из перечисленных задач задано время. Чтобы просмотреть код, используйте команду перехода к исходному файлу.
Узнайте, как окно профилировщика производительности и средств диагностики в Visual Studio имеет множество различных параметров, влияющих на общую производительность инструментов.
Узнайте, как использовать отладчик Visual Studio PerfTips и интегрированные средства диагностики для мониторинга и анализа производительности приложения во время отладки.
Узнайте, как оптимизировать код и сократить затраты на вычисления с помощью средств профилирования Visual Studio, таких как средство использования ЦП, средство выделения объектов .NET и средство базы данных.
Узнайте о средстве производительности профилировщика ЦП, которое показывает время и процент, потраченное на выполнение кода в приложениях C++, C#, Visual Basic и JavaScript.