Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если вы хотите создать приложения с высокой производительностью, следует разработать и запланировать производительность так же, как и любой другой компонент приложения. Вы можете использовать средства, предоставляемые корпорацией Майкрософт, для измерения производительности приложения и, при необходимости, улучшения использования памяти, пропускной способности кода и реагирования. В этом разделе перечислены средства анализа производительности, предоставляемые Корпорацией Майкрософт, а также ссылки на другие разделы, охватывающие производительность для конкретных областей разработки приложений.
Проектирование и планирование производительности
Если требуется отличное приложение, вы должны разработать производительность в приложении так же, как и любой другой компонент. Необходимо определить критически важные сценарии производительности в приложении, задать цели производительности и оценить производительность для этих сценариев приложений рано и часто. Так как каждое приложение отличается и имеет разные пути выполнения, критически важные для производительности, определяя эти пути рано и фокусируя свои усилия, позволяют повысить производительность.
Вам не нужно быть полностью знакомы с целевой платформой, чтобы создать высокопроизводительное приложение. Однако следует разработать представление о том, какие части целевой платформы являются дорогостоящими с точки зрения производительности. Это можно сделать, измеряя производительность в начале процесса разработки.
Чтобы определить области, важные для производительности и установления целей производительности, всегда учитывайте взаимодействие с пользователем. Время запуска и скорость реагирования являются двумя ключевыми областями, которые повлияют на восприятие приложения пользователем. Если приложение использует много памяти, оно может показаться вялым для пользователя или повлиять на другие приложения, работающие в системе, или в некоторых случаях может завершиться сбоем процесса отправки Магазина Windows или Магазина Windows Phone. Кроме того, если определить, какие части кода выполняются чаще, можно убедиться, что эти части кода хорошо оптимизированы.
Анализ производительности
В рамках общего плана разработки задайте точки во время разработки, где вы будете измерять производительность приложения и сравнивать результаты с заданными ранее целями. Измеряйте приложение в среде и оборудовании, которые должны иметь пользователи. Проанализировав производительность приложения рано и часто можно изменить архитектурные решения, которые будут дорогостоящими и дорогостоящими для исправления позже в цикле разработки. В следующих разделах описаны средства производительности, которые можно использовать для анализа приложений и обсуждения трассировки событий, которая используется этими средствами.
Средства производительности
Ниже приведены некоторые средства производительности, которые можно использовать с приложениями .NET Framework.
Инструмент | Описание |
---|---|
Анализ производительности Visual Studio | Используется для анализа использования ЦП приложений .NET Framework, которые будут развернуты на компьютерах под управлением операционной системы Windows. Это средство доступно в меню отладки в Visual Studio после открытия проекта. Дополнительные сведения см. в обозревателе производительности. Заметка: Используйте анализ приложений Windows Phone (см. следующую строку) при выборе Windows Phone. |
Анализ приложений Windows Phone | Используется для анализа ЦП и памяти, скорости передачи данных сети, реагирования приложений и потребления батареи в приложениях Windows Phone. Это средство доступно в меню отладки для проекта Windows Phone в Visual Studio после установки пакета SDK для Windows Phone. Дополнительные сведения см. в разделе профилирование приложений для Windows Phone 8. |
PerfView | Используется для выявления проблем с производительностью ЦП и памяти. Это средство использует API трассировки событий для Windows (ETW) и профилирования CLR, чтобы обеспечить расширенные исследования памяти и ЦП, а также предоставить сведения о сборке мусора и компиляции JIT. Дополнительные сведения об использовании PerfView см. в записи блога. |
анализатор производительности Windows | Используйте для определения общей производительности системы, например памяти и хранилища приложения, используемого при выполнении нескольких приложений на одном компьютере. Это средство доступно из центра загрузки в составе пакета средств оценки и развертывания Windows (ADK) для Windows 8. Дополнительные сведения см. в разделе "Анализатор производительности Windows". |
Трассировка событий для Windows (ETW)
ETW — это метод, который позволяет получить диагностические сведения о выполнении кода и является важным для многих упомянутых ранее средств производительности. ETW создает журналы при возникновении определенных событий, вызванных приложениями .NET Framework и Windows. С помощью ETW можно включить и отключить ведение журнала динамически, чтобы можно было выполнять подробную трассировку в рабочей среде без перезапуска приложения. Платформа .NET Framework предлагает поддержку событий ETW, а ETW используется многими средствами профилирования и производительности для создания данных о производительности. Эти средства часто включают и отключают события ETW, поэтому знакомство с ними полезно. Для сбора сведений о производительности конкретных компонентов приложения можно использовать определенные события ETW. Дополнительные сведения о поддержке ETW в .NET Framework см. в событиях ETW в среде выполнения общего языка и событиях ETW в библиотеке параллельных задач и PLINQ.
Производительность по типу приложения
Каждый тип приложения .NET Framework имеет собственные рекомендации, особенности и средства для оценки производительности. В следующей таблице приведены ссылки на разделы о производительности для определенных типов приложений .NET Framework.
Тип приложения | Смотри |
---|---|
Приложения .NET Framework для всех платформ |
Сборка мусора и производительность Советы по производительности |
Приложения Магазина Windows 8.x, написанные на C++, C#и Visual Basic | Рекомендации по производительности приложений Магазина Windows с помощью C++, C#и Visual Basic |
Windows Presentation Foundation (WPF) | Набор производительности WPF |
ASP.NET | Обзор производительности ASP.NET |
Связанные разделы
Название | Описание |
---|---|
кэширование в приложениях .NET Framework | Описывает методы кэширования данных для повышения производительности в приложении. |
ленивая инициализация | Описывает, как инициализировать объекты по мере необходимости для повышения производительности, особенно при запуске приложения. |
Надёжность | Предоставляет сведения о предотвращении асинхронных исключений в среде сервера. |
Написание больших, адаптивных приложений .NET Framework | Предоставляет советы по производительности, собранные при перезаписи компиляторов C# и Visual Basic в управляемом коде, а также несколько реальных примеров компилятора C#. |