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.