Kako procijeniti posjećenost (broj korisnika) na IIS web mjestu

Kako brzo procijenite trenutni broj korisničkih veza sa web lokacijama na web poslužitelju IIS, radi na Windows poslužitelju? Takvi će podaci omogućiti precizniju procjenu i predviđanje opterećenja na poslužitelju, odabrati optimalno vrijeme za servis i ažuriranje web mjesta, predvidjeti opterećenje na poslužitelju s povećanjem broja korisnika.

Najlakši način za određivanje broja korisnika aktivne sesije na IIS web mjestu je putem brojača performansi u Windows Performance Monitoru..

Otvorite konzolu predstava monitor, izvršavanje naredbe PerfMon i idite na konzolu monitora performansi (Alati za nadzor -> Monitor performansi).

Zatim trebate dodati brojače koji su nam potrebni u prozoru monitora (prema zadanim postavkama brojač prikazuje ukupno opterećenje CPU-a na prozoru - možete ga izbrisati). Da biste dodali novi brojač, kliknite zeleni gumb na alatnoj traci (istaknut je na snimku zaslona) ili pritisnite kombinaciju tipki ctrl+N.

Na popisu dostupnih kategorija šaltera nalazimo i proširujemo grupu web usluga. U ovoj kategoriji nas zanimaju tri brojača:

  • struja anoniman Korisnici - Broj anonimnih korisnika IIS-a
  • struja ne-anoniman Korisnici - broj ovlaštenih (ne-anonimnih) IIS korisnika;
  • struja veze - ukupni broj aktivnih veza na IIS poslužitelju.

Odabrat ćemo željeni brojač i u polju Primjeri odabranih objekata odaberite jednu ili više IIS web lokacija za koje želite prikazati podatke o vezi. Podaci o korisnicima svih web lokacija na poslužitelju nalaze se u instanci _ukupno. Ostaje pritisnuti gumb dodati >>, tako da se željeni brojač pomiče na popis dodanih brojila u desnom prozoru.

Na isti način dodajte sve potrebne brojače i kliknite U redu.

Sada će konzola Performance Monitor prikazati podatke u stvarnom vremenu o broju aktivnih veza (sesija) korisnika na IIS web poslužitelju / web mjestu (prema zadanim postavkama, vrijednosti brojača prikazane su u grafikonima retka). Odabirom bilo kojeg brojača na donjoj ploči možete vidjeti njegovu trenutnu (zadnju), prosječnu (prosječnu), minimalnu (minimalnu) i maksimalnu (maksimalnu) vrijednost za određeno razdoblje.

Možete dodati vlastite brojače performansi u trenutnu konzolu i spremiti ih u zasebnom prikazu koji kasnije možete koristiti za brzi pristup informacijama o opterećenju na web poslužitelju.

Podaci brojača performansi za IIS web mjesta mogu se pristupiti i iz PowerShell-a. Da biste to učinili, samo koristite cmdlet da biste dobili podatke s brojača performansi Nabavite kontra.

Popis svih dostupnih brojača performansi za Web uslugu može se prikazati na sljedeći način:

(Get-Counter -ListSet 'Web usluga')

Da biste dobili informacije o trenutnom broju aktivnih veza na IIS poslužitelju (brojač \ Web usluga (*) \ trenutne veze) koristite ovu naredbu:

Get-Counter -Counter "\ Web usluga (*) \ trenutne veze"

Kao što vidite, ova naredba vratila je i ukupni broj veza na IIS poslužitelj i statistiku za svaku web lokaciju.

vijeće.

  • Vrijednosti nekoliko brojila mogu se prikazati navođenjem odvojenih zarezima;
  • S ključem -stalan informacije o vrijednosti brojača stalno će se emitirati na konzolu dok naredba CTRL + C ne izvrši prekid.

Kao što smo rekli, možete dobiti broj aktivnih sesija za određeno IIS mjesto. Na primjer, da biste dobili trenutni broj veza na web mjestu s imenom Site1, pokrenite naredbu (možete odrediti ime poslužitelja na kojem se brojač provjerava, prilikom provjere broja veza na web mjestu lokalno nije dopušteno odrediti localhost):

Web-aplikacija Get-Counter "Web stranica (Site1) \ trenutne veze" -ComputerName web-app01)

Da biste izbjegli određivanje imena poslužitelja svaki put, možete koristiti varijablu okoline COMPUTERNAME

Web-usluga dobivanja brojača (Site1) \ trenutne veze -ComputerName $ env: COMPUTERNAME

Da biste dobili brojčanu vrijednost brojača "trenutnih veza" cijelog IIS web poslužitelja (ukupno učitavanje na IIS), možete koristiti sljedeći kôd:

((Get-Counter -Counter 'web usluga (_total) \ trenutne veze' -računalo $ env: COMPUTERNAME) | Select-Object -Proširi brojila uzoraka) .Cookedvalue

Pokušajmo s jednostavnom skriptu napraviti nekoliko dodatnih sesija s naše web stranice i provjeriti brojač vrijednosti. Možete pokrenuti broj poziva na IIS pomoću cmdlet Invoke-WebRequest ili jednostavno otvoriti nekoliko prozora u pregledniku:

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

Nakon toga provjerite vrijednost brojača trenutnih veza i provjerite je li povećava.

Ako se na poslužitelju pokreće nekoliko IIS web-lokacija i trebate dobiti broj veza na svaku od njih u obliku tablice, možete koristiti ovu skriptu (da biste dobili podatke iz IIS-a u PowerShell, morate učitati modul WebAdministration):

webadministracija modula za uvoz
funkcija get-CurrentConnection ($ stranica)
Web-usluga Get-Counter "($ web stranica) \ trenutne veze, web usluga ($ web stranica) \ Primljeni bajtovi / sec, web usluga ($ web stranica) \ bajti poslani / sek" -ComputerName $ env: COMPUTERNAME

$ IISsites = dir IIS: \ Sites | Odaberite ime
$ CurrentConnection = @ ()
foreach ($ site na $ IISsites)

Web mjesto za pisanje računa
$ ConnCount = Novo-objektni objekt | get-CurrentConnection -Site $ site.name
$ CurrentConnection + = $ ConnCount

$ CurrentConnection | pregled izvan mreže

Možete prikazati i numeričke vrijednosti brojača veze za sve stranice poput ove (prva vrijednost je ukupan broj veza na IIS):

Get-wmiObject -clas Win32_PerfRawData_W3SVC_WebService | select-objekt-proširi trenutne veze

Također možete prikazati podatke o količini primljenih / prenesenih podataka za svaku web stranicu ili za cijeli web poslužitelj pomoću brojača web usluge (naziv web lokacije) \ Primljeni bajtovi / sek i web usluga (naziv web mjesta) \ Bytes Sent / sec ».

Dakle, ispitali smo tehniku ​​koja vam omogućuje dobivanje informacija o opterećenju na web lokacijama koje rade na IIS web poslužitelju.