Как да се оцени посещаемостта (брой потребители) на уебсайта на IIS

Колко бързо оценете текущия брой потребителски връзки към сайтове на уеб сървър IIS, работи на Windows сървър? Такава информация ще даде възможност за по-прецизна оценка и прогнозиране на натоварването на сървъра, избор на оптималното време за обслужване и актуализиране на сайта, прогнозиране на натоварването на сървъра с увеличаване на броя на потребителите.

Най-лесният начин да определите броя потребители на активна сесия на уебсайта на IIS е чрез броячите на производителността в монитора на производителността на Windows..

Отворена конзола производителност монитор, изпълнява командата perfmon и отидете на конзолата на монитора на ефективността (Инструменти за наблюдение -> Монитор на производителността).

След това трябва да добавите нужните ни броячи към прозореца на монитора (по подразбиране броячът показва общото натоварване на процесора на прозореца - можете да го изтриете). За да добавите нов брояч, щракнете върху зеления бутон в лентата с инструменти (той е подчертан на екрана) или натиснете клавишната комбинация Ctrl+N.

В списъка на наличните категории броячи намираме и разширяваме групата на уеб услугите. В тази категория се интересуваме от три броячи:

  • ток анонимен Потребители - Брой анонимни потребители на IIS
  • ток Non-анонимен Потребители - брой оторизирани (неанонимни) IIS потребители;
  • ток Връзки - общ брой активни връзки на IIS сървъра.

Ще изберем желания брояч и в полето „Инстанции на избрани обекти“ ще изберете един или повече IIS сайтове, за които искате да покажете информация за връзката. Информацията за потребителите на всички сайтове на сървъра се съдържа в инстанцията _общо. Остава да натиснете бутона Добави >>, така че желаният брояч да се премести в списъка с добавени броячи в десния прозорец.

По същия начин добавете всички необходими броячи и щракнете върху OK.

Сега конзолата за мониторинг на ефективността ще показва информация в реално време за броя на активните връзки (сесии) на потребителите на уеб сървъра / сайта на IIS (по подразбиране стойностите на броячите се показват в линейни графики). Избирайки някой от броячите в долния панел, можете да видите неговата текуща (последна), средна (средна), минимална (минимална) и максимална (максимална) стойност за даден период от време.

Можете да добавите свои собствени броячи за ефективност към текущата конзола и да ги запишете в отделен изглед, който по-късно можете да използвате за бърз достъп до информация за натоварването на уеб сървъра.

Данните за брояча на ефективността за IIS сайтове също могат да бъдат достъпни от PowerShell. За да направите това, просто използвайте командлета, за да получите данни от брояча на производителността Вземете контра.

Списъкът на всички налични броячи на ефективността на уеб услугата може да бъде показан, както следва:

(Get-Counter -ListSet "Уеб услуга")

За да получите информация за текущия брой активни връзки на IIS сървъра (брояч \ Услуга (*) \ Текущи връзки), използвайте тази команда:

Get-Counter -Counter „\ Уеб услуга (*) \ Текущи връзки“

Както можете да видите, тази команда връща както общия брой връзки към IIS сървъра, така и статистически данни за всеки сайт.

съвет.

  • Стойностите на няколко брояча могат да бъдат показани, като ги посочите разделени със запетаи;
  • С ключ -непрекъснат информация за стойността на брояча ще се извежда постоянно в конзолата, докато не бъде извършено прекъсване от командата CTRL + C.

Както казахме, можете да получите броя на активните сесии за определен сайт на IIS. Например, за да получите текущия брой връзки в даден сайт с името Site1, изпълнете командата (можете да посочите името на сървъра, на който се проверява броячът, когато проверявате броя на връзките на сайта локално, не е позволено да посочва localhost):

Get-Counter "уеб услуга (Site1) \ текущи връзки" -ComputerName web-app01

За да не указвате име на сървър всеки път, можете да използвате променливата на средата COMPUTERNAME

Уеб услуга на Get-Counter (Site1) \ текущи връзки -ComputerName $ env: COMPUTERNAME

За да получите числовата стойност на брояча "текущи връзки" на целия уеб сървър на IIS (общо зареждане на IIS), можете да използвате следния код:

((Get-Counter -Counter 'уеб услуга (_total) \ текущи връзки' -компютър $ env: COMPUTERNAME) | Select-Object -Разгъване на броячи) .Cookedvalue

Нека се опитаме да използваме прост скрипт, за да създадем някои допълнителни сесии с нашия уебсайт и да проверим стойността на брояча. Можете да завършите броя на обажданията към IIS с помощта на командлета Invoke-WebRequest или можете просто да отворите няколко прозореца в браузъра:

$ counter = 20
за ($ i = 1; $ i -le $ counter; $ i ++)
$ SiteAdress = "http: // localhost: 9666 /"
Start-Process $ SiteAdress

След това проверете стойността на брояча на текущите връзки и се уверете, че тя се увеличава.

Ако няколко сървъра на IIS работят на сървъра и трябва да получите броя на връзките към всеки от тях под формата на таблица, можете да използвате този скрипт (за да получите данни от IIS към PowerShell, трябва да заредите модула за WebAdministration):

webadministration на импортиращ модул
функция get-CurrentConnection ($ Сайт)
Уеб услуга Get-Counter "($ Site) \ текущи връзки, уеб услуга ($ Сайт) \ Байтове получени / сек, уеб услуга ($ Сайт) \ Байтове изпратени / сек" -ComputerName $ env: COMPUTERNAME

$ IISsites = dir IIS: \ Сайтове | Изберете име
$ CurrentConnection = @ ()
foreach ($ сайт в $ IISsites)

Сайт за запис на хост
$ ConnCount = Нов обект psobject | get-CurrentConnection -Site $ site.name
$ CurrentConnection + = $ ConnCount

$ CurrentConnection | изглед извън мрежата

Можете също да покажете числовите стойности на броячите на връзки за всички сайтове като този (първата стойност е общият брой връзки към IIS):

Get-wmiObject -клас Win32_PerfRawData_W3SVC_WebService | select-object-разширяване на текущите връзки

Можете също така да покажете информация за количеството получени / предавани данни за всеки сайт или за целия уеб сървър, използвайки броячите на уеб услугата (име на сайта) \ Байтове получени / сек и уеб услуга (име на сайта) \ Байтове изпратени / сек ».

И така, ние разгледахме техника, която ви позволява да получавате информация за натоварването на сайтове, работещи на уеб сървъра на IIS.