Проще всего определить количество активных сессией пользователей на веб сайте IIS при помощи счетчиков производительности в мониторе производительности Windows (Performance Monitor) .
Откроем консоль Performance Monitor, выполнив команду perfmon и перейдем в консоль монитора производительности (Monitoring Tools — > Performance Monitor).
Далее нам нужно добавить в окно монитора необходимые нам счетчики (по умолчанию в окне отображается счетчик общей загрузки CPU, его можно удалить). Чтобы добавить новый счетчик, нажмем зеленую кнопку в панели инструментов (на скриншоте она выделена) или нажав комбинацию клавиш Ctrl+N.
В списке доступных категорий счетчиков найдем и развернем группу Web Service.
В этой категории нас интересуют два счетчика:
- Current Anonymous Users – количество анонимных пользователей IIS
- Current Non-Anonymous Users – количество авторизованных (неанонимных) пользователей IIS
Выберем нужный счетчик и в поле экземпляров счетчика (Instances of selected objects) выберем один или несколько сайтов IIS, для которых нужно отобразить информацию. Информация по пользователям всех сайтов на сервере содержится в экземпляре _Total. Осталось нажать кнопку Add >>, чтобы нужный счетчик переместился в список добавляемых счетчиков в правом окне.
Точно так же добавим все необходимые счетчики и нажмем ОК.
Теперь в консоли Performance Monitor в режиме реального времени будет отображаться информация о количестве сессий пользователей (по умолчанию значения счетчиков выводятся в виде линейных графиков). Выбрав в нижней панели любой из счетчиков можно посмотреть его текущее(last), среднее(average), минимальное (minimum) и максимальное(maximum) значение за данный период времени.
В текущую консоль можно добавить собственные счетчики производительности и сохранить их в отдельном представлении, которое в дальнейшем можно использовать для быстрого доступа к информации о нагрузке на веб-сервер.
Доступ к данным счетчиков производительности можно получить и из Powershell.
Список всех доступных счетчиков для службы Web Service можно вывести так:
(Get-Counter -ListSet 'Web Service').counter
Чтобы получить информацию о текущем количестве анонимных пользователей (счетчик Web Service(*)Current Anonymous Users) воспользуемся такой командой:
Get-Counter -Counter “Web Service(*)Current Anonymous Users”
Совет
- Значения нескольких счетчиков можно вывести, указав их через запятую.
- С ключем –Continuous информация о значении счетчика будет выводится в консоль постоянно, пока не будет выполнено прерывание командой CTRL+C
Или такой:
Get-wmiObject -class Win32_PerfRawData_W3SVC_WebService | select-object -expand currentanonymoususers
Итак, мы рассмотрели методику, позволяющую получить информацию о нагрузке на сайты, запущенные на веб сервере IIS.
Спасибо WinITPro