Какие счетчики производительности ASP.NET лучше всего отслеживать?[закрыто]

StackOverflow https://stackoverflow.com/questions/161737

Вопрос

В 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/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top