Какие счетчики производительности ASP.NET лучше всего отслеживать?[закрыто]
-
03-07-2019 - |
Вопрос
В perfmon для ASP.NET доступно множество счетчиков.Какие из них (я думаю выбрать 5-10) лучше всего будет отслеживать в нашей тестовой среде, чтобы мы могли связаться с разработчиками.
Я имею в виду такие вещи, как время запроса, длина очереди запросов, активные сеансы и т. д.
Решение
Для обычного тестирования (не производительности/стресс-тестирования) вам подойдет следующее:
- Всего исходящих байт запроса (очень важно, особенно для веб-приложений (не интрасети))
- Запросы не выполнены
- Запросов/сек
- Ошибки во время выполнения
- Ошибки, необработанные во время выполнения
- Всего подключений к сеансовому SQL-серверу
- Сеансы сервера состояний активны
Для тестирования производительности вам, вероятно, понадобятся такие вещи, как:
- % использования ЦП (убедитесь, что вы проверяете очень низкую загрузку процессора, так как это может указывать на то, что что-то не работает)
- Запросы в очереди
- Выходные попадания в кэш
Другие советы
Чаще всего я использую счетчики памяти.Все они.Я знаю, что они не специфичны для ASP.NET, но единственные проблемы, с которыми я когда-либо сталкивался при работе с веб-приложениями, — это проблемы с памятью.
Чрезмерная куча, коллекции второго поколения и процент времени в сборе мусора являются наиболее важными.Если ваше время в GC выходит из-под контроля, это признак того, что ваш пользовательский интерфейс и состояние просмотра слишком велики.Большая куча и множество коллекций второго поколения говорят о том, что вы храните слишком много данных в памяти (например, состояние сеанса inproc).
Обычные приложения ASP.NET, основанные на веб-элементах управления, требуют создания множества объектов, а затем их быстрого уничтожения, поскольку страница реконструируется и затем удаляется.Коллекции высокого поколения — это неплохо.Когда вы начинаете видеть, как множество объектов попадают в поколение 1, а затем в поколение 2, это говорит о том, что у вас либо происходит утечка памяти, либо вы удерживаете слишком много состояний.
Помните о счетчиках памяти при запуске более одного пула приложений ASP.NET. Проверьте проблему на http://blog.dynatrace.com/2009/02/27/can-you-trust-your-net-heap- Performance-counters/