Назад | Перейти на главную страницу

Вы используете счетчики производительности на рабочих веб-сайтах IIS?

Вы держите счетчик включенным при больших производственных нагрузках?
Какие счетчики производительности вы считаете полезными для веб-сайтов ASP.Net/IIS 6.0?

У меня никогда не было проблем с запуском счетчиков производительности на моих серверах.

Microsoft предлагает посмотреть следующие счетчики для IIS:

  • Память \ Страниц / сек
  • Память \ Доступные байты
  • Память \ выделенные байты
  • Память \ невыгружаемые байты пула
  • Процессор \% загруженности процессора
  • Процессор \ Прерываний / сек
  • Процессор \ системный процессор Длина очереди
  • Логический диск \% времени на диске
  • PhysicalDisk \% времени на диске
  • LogicalDisk \ Avg. Длина дисковой очереди
  • PhysicalDisk \ Avg. Длина дисковой очереди
  • LogicalDisk \ Avg. Байт на диске / передача
  • PhysicalDisk \ Avg. Байт на диске / передача
  • Система \ переключений контекста / сек
  • Веб-служба \ Всего байтов / сек
  • Веб-служба \ Всего запросов метода / сек
  • Веб-сервис \ Текущие подключения
  • Кэш веб-службы \% обращений к кешу файлов
  • Кэш веб-службы \ ядро: пропуски кэша URI
  • Кэш веб-службы \ ядро: попаданий в кэш URI%

Специально для ASP.NET я бы посмотрел

  • ASP.NET \ Перезапуск приложений
  • ASP.NET \ запросы в очереди
  • ASP.NET \ перезапуск рабочего процесса
  • Приложения ASP.NET \ Всего ошибок
  • Приложения ASP.NET \ запросов / сек.
  • Приложения ASP.NET \ Количество экземпляров конвейера
  • Кол-во исключений .NET CLR

Как правило, вам следует постоянно собирать данные о производительности. Таким образом, у вас будут все необходимые данные, когда вы войдете в офис своего менеджера и скажете: «Наша пиковая нагрузка увеличивалась на X% каждую неделю в течение последних нескольких месяцев, и с этой скоростью мы превысим наши текущие возможности в около 3 месяцев. Нам нужно начать планировать это сейчас ".

Хотя это и запоздалый ответ, я делюсь здесь тем, что мы сделали с производственной средой.
Сценарий состоял в том, что нам нужно было узнать количество запросов на нашем веб-сервере и сколько их обслужено / есть ли какие-либо проблемы с потерей ресурсов / узкие места или нет.
Для этого мы использовали следующие счетчики с perfmon.exe

Счетчик: - Asp.Net Apps V2.0.50727.
Экземпляр: - LM_W3SVC_1_ROOT_ "HostedWebSite"
1). Всего запросов: - показывает общее количество запросов с момента последнего перезапуска IIS.
2). Запросы в очереди приложений
3). Запросы выполнены
4). Запросы не выполнены
3). Время ожидания запросов
4). Запросы отклонены: количество отклоненных запросов из-за того, что очередь запросов приложения была заполнена
5). Запросы не найдены: количество запросов на ресурсы, которые не были найдены.
6). Запросы не авторизованы: количество запросов, не выполненных из-за несанкционированного доступа.

Счетчик: - Данные .Net CLR.
1). Клиент Sql: # Текущие соединения в пуле и без него: - Предоставляет текущее количество соединений, объединенных в пул или нет.

Счетчик: - .Net CLR LocksAndThreads.
1). Кол-во логических потоков
2). # Физических потоков

Счетчик: - Очереди запросов службы HTTP
1). CurrentQueueSize: - Количество запросов в очереди
2). RejectedRequests: общее количество запросов, отклоненных из очереди.