Hogyan lehet becsülni a részvételt (a felhasználók száma) az IIS webhelyén

Milyen gyorsan becsülje meg a webszerver webhelyeihez való felhasználói kapcsolatok jelenlegi számát IIS, fut a Windows Server? Ezek az információk lehetővé teszik a kiszolgáló terhelésének pontosabb becslését és előrejelzését, az optimális idő kiválasztását a webhely kiszolgálásához és frissítéséhez, a kiszolgáló terhelésének előrejelzését a felhasználók számának növekedésével.

Az IIS webhelyen az aktív munkamenet felhasználói számának legegyszerűbb módja a Windows Performance Monitor teljesítményszámlálóin keresztül történő meghatározása..

Nyissa meg a konzolt teljesítmény monitor, a parancs futtatása PerfMon és lépjen a teljesítményfigyelő konzoljára (Megfigyelő eszközök -> Teljesítményfigyelő).

Ezután hozzá kell adnia a szükséges számlálókat a figyelőablakhoz (alapértelmezés szerint a számláló megjeleníti az ablakon a teljes CPU-terhelést - törölheti). Új számláló hozzáadásához kattintson az eszközsor zöld gombjára (ez a képernyőképen kiemelve van) vagy nyomja meg a billentyűkombinációt Ctrl+N.

Az elérhető számlálókategóriák listájában megtaláljuk és kibővítjük a Web Service csoportot. Ebben a kategóriában három számlálót érdekelünk:

  • jelenlegi névtelen felhasználók - Anonim IIS-felhasználók száma
  • jelenlegi nem-névtelen felhasználók - az engedélyezett (nem anonim) IIS felhasználók száma;
  • jelenlegi kapcsolatok - az IIS-kiszolgálón aktív kapcsolatok száma.

Kiválasztjuk a kívánt számlálót, és a Kiválasztott objektumok példányai mezőben válasszunk ki egy vagy több IIS-helyet, amelyekhez kapcsolódási információkat szeretnénk megjeleníteni. A kiszolgálón található összes webhely felhasználói számára a példány tartalmazza _teljes. A gomb megnyomása marad hozzáad >>, úgy, hogy a kívánt számláló átkerüljön a hozzáadott számlálók listájához a jobb oldali ablakban.

Ugyanezen módon adja hozzá az összes szükséges számlálót, majd kattintson az OK gombra.

Most a Performance Monitor konzolon a valós idejű információk jelennek meg az IIS webszerver / webhely felhasználói aktív kapcsolatainak (munkameneteinek) számáról (alapértelmezés szerint a számlálók értékei sor grafikonon jelennek meg). Az alsó panelen lévő számlálók bármelyikének kiválasztásával láthatja annak aktuális (utolsó), átlagot (átlagos), minimális (minimum) és maximális (maximális) értékét egy adott időtartamra.

Felveheti saját teljesítményszámlálóit az aktuális konzolra, és elmentheti őket külön nézetben, amelyet később felhasználhat a webszerver terhelésével kapcsolatos információk gyors eléréséhez..

Az IIS-helyek teljesítményszámlálói adatai a PowerShellből is elérhetők. Ehhez csak a parancsmag segítségével kell adatokat szereznie a teljesítményszámlálótól Keressen pultot.

A webszolgáltatáshoz rendelkezésre álló teljesítményszámlálók listája a következőképpen jeleníthető meg:

(Get-Counter -ListSet 'Web Service')

Az IIS-kiszolgálón aktív kapcsolatok aktuális számáról (counter \ Web Service (*) \ Current Connections) az alábbi parancs segítségével tájékozódhat:

Get-Counter -Counter “\ Webszolgáltatás (*) \ Jelenlegi kapcsolatok”

Mint láthatja, ez a parancs visszaadta az IIS-kiszolgálóval létesített összeköttetések számát és az egyes helyek statisztikáit.

tanács.

  • Több számláló értéke megjeleníthető vesszővel elválasztva;
  • Kulccsal -folyamatos A számláló értékével kapcsolatos információkat folyamatosan továbbítják a konzolra mindaddig, amíg a CTRL + C parancs meg nem szakítja a megszakítást.

Mint mondtuk, megkaphatja az aktív munkamenetek számát egy adott IIS webhelyen. Például, ha meg szeretné kapni a helyek aktuális számát a Site1 névvel, akkor futtassa a parancsot (Megadhatja annak a kiszolgálónak a nevét, amelyen a számlálót ellenőrzik. A helyszíni kapcsolatok számának helyben történő ellenőrzésekor nem engedélyezett a helyihost megadása):

Get-Counter "webszolgáltatás (1. oldal) \ jelenlegi kapcsolatok" -számítógépnév web-app01

A kiszolgálónév minden egyes megadásának elkerülése érdekében használhatja a COMPUTERNAME környezeti változót

Get-Counter "webszolgáltatás (1. oldal) \ jelenlegi kapcsolatok" -számítógépnév $ env: SZÁMÍTÓGÉP

A teljes IIS webszerver "aktuális kapcsolatok" számlálójának (az IIS teljes terhelése) numerikus értékének a következő kódot használhatja:

((Get-Counter -Counter 'webszolgáltatás (_összeg) \ jelenlegi kapcsolatok' -számítógép $ env: SZÁMÍTÓGÉP) | Kiválasztás-Objektum - Kibontás ellenminták) .Főzőérték

Próbáljuk meg egy egyszerű szkript használatával létrehozni néhány további munkamenetet a weboldalunkon, és ellenőrizze a számláló értékét. Az IIS-hívások számát az Invoke-WebRequest parancsmag segítségével végezheti el, vagy egyszerűen több ablakot is megnyithat a böngészőben:

$ számláló = 20
for ($ i = 1; $ i -le $ számláló; $ i ++)
$ SiteAdress = "http: // localhost: 9666 /"
Start-Process $ SiteAdress

Ezután ellenőrizze az aktuális kapcsolatok számlálójának értékét, és ellenőrizze, hogy növekszik-e.

Ha több IIS-hely fut a kiszolgálón, és meg kell kapnia az egyes kapcsolatok számát táblázatos formában, akkor ezt a szkriptet használhatja (adatok IIS-ből PowerShell-hez történő letöltéséhez be kell töltenie a WebAdministration modult):

import-modul webes adminisztráció
get-CurrentConnection ($ Site) függvény
Get-Counter "webszolgáltatás ($ Site) \ jelenlegi kapcsolatok, web szolgáltatás ($ Site) \ Bájt érkezett / mp, web szolgáltatás ($ Site) \ Bytes elküldve / mp" -Számítógépnév $ env: COMPUTERNAME

$ IISsites = dir IIS: \ Webhelyek | Válassza ki a nevet
$ CurrentConnection = @ ()
foreach ($ site in $ IISsites)

Write-Host $ webhely
$ ConnCount = New-Object psobject | get-CurrentConnection -Site $ site.name
$ CurrentConnection + = $ ConnCount

$ CurrentConnection | out-gridview

Megjelenítheti az összes webhely kapcsolati számlálóinak numerikus értékeit is (az első érték az IIS-hez való összeköttetések száma):

Get-wmiObject-osztály Win32_PerfRawData_W3SVC_WebService | Kiválaszt-objektum-bővítse ki az aktuális kapcsolatokat

Az egyes helyekre vagy a teljes webkiszolgálóra érkező / továbbított adatok mennyiségéről információkat jeleníthet meg a számláló webszolgáltatás (sitename) \ fogadott bájt / másodperc és webszolgáltatás (sitename) \ bytes elküldve / sec ».

Tehát megvizsgáltunk egy technikát, amely lehetővé teszi az IIS webkiszolgálón futó webhelyek terhelésével kapcsolatos információk beszerzését.