Jak odhadnout návštěvnost (počet uživatelů) na webu IIS

Jak rychle odhadnout aktuální počet uživatelských připojení k webům na webovém serveru IIS, běží na serveru Windows? Tyto informace umožní přesněji posoudit a předpovědět zatížení serveru, zvolit optimální čas pro servis a aktualizaci webu, předpovědět zatížení serveru se zvýšením počtu uživatelů.

Nejjednodušší způsob, jak zjistit počet aktivních relačních uživatelů na webu IIS, je pomocí čítačů výkonu v nástroji Windows Performance Monitor..

Otevřete konzoli Výkon Monitor, spuštění příkazu perfmon a přejděte na konzolu monitoru výkonu (Nástroje pro monitorování -> Monitor výkonu).

Dále musíte přidat čítače, které potřebujeme, do okna monitoru (ve výchozím nastavení čítač zobrazuje celkové zatížení CPU v okně - můžete je vymazat). Chcete-li přidat nový čítač, klikněte na zelené tlačítko na panelu nástrojů (je zvýrazněno na snímku obrazovky) nebo stiskněte kombinaci kláves Ctrl+N.

V seznamu dostupných kategorií čítačů najdeme a rozbalíme skupinu webových služeb. V této kategorii nás zajímají tři čítače:

  • Aktuální Anonymní Uživatelé - Počet anonymních uživatelů služby IIS
  • Aktuální Ne-Anonymní Uživatelé - počet oprávněných (neanonymních) uživatelů služby IIS;
  • Aktuální Spojení - celkový počet aktivních připojení na serveru IIS.

Vybereme požadovaný čítač a v poli instance vybraných objektů vybereme jeden nebo více webů IIS, pro které chcete zobrazit informace o připojení. Informace o uživatelích všech webů na serveru jsou obsaženy v instanci _Celkem. Zbývá stisknout tlačítko Přidat >>, takže požadované počítadlo se přesune do seznamu přidaných čítačů v pravém okně.

Stejným způsobem přidejte všechny potřebné čítače a klikněte na OK.

Nyní bude konzola Performance Monitor zobrazovat informace v reálném čase o počtu aktivních připojení (relací) uživatelů na webovém serveru / webu IIS (ve výchozím nastavení jsou hodnoty čítače zobrazeny v čárových grafech). Výběrem některého z čítačů ve spodním panelu uvidíte jeho aktuální (poslední), průměrnou (průměrnou), minimální (minimální) a maximální (maximální) hodnotu za dané časové období..

Do aktuální konzoly můžete přidat vlastní čítače výkonu a uložit je do samostatného zobrazení, které můžete později použít k rychlému přístupu k informacím o zatížení na webovém serveru..

Data čítače výkonu pro weby IIS lze také získat z PowerShell. Chcete-li to provést, použijte cmdlet k získání dat z čítače výkonu Získejte počítadlo.

Seznam všech dostupných čítačů výkonu pro webovou službu lze zobrazit takto:

(Get-Counter -ListSet 'Web Service')

Chcete-li získat informace o aktuálním počtu aktivních připojení na serveru IIS (counter \ Web Service (*) \ Current Connections), použijte tento příkaz:

Počítadlo-počítadlo „\ Web Service (*) \ Current Connections“

Jak vidíte, tento příkaz vrátil jak celkový počet připojení k serveru IIS, tak statistiky pro každý web.

Tip.

  • Hodnoty několika čítačů lze zobrazit jejich zadáním oddělenými čárkami;
  • S klíčem -Kontinuální informace o hodnotě čítače budou na konzoli přenášeny neustále, dokud nebude provedeno přerušení příkazem CTRL + C.

Jak jsme řekli, můžete získat počet aktivních relací pro konkrétní web služby IIS. Chcete-li například získat aktuální počet připojení na webu s názvem Site1, spusťte příkaz (můžete zadat název serveru, na kterém je čítač zkontrolován, při kontrole počtu připojení na webu není povoleno určit localhost):

Get-Counter "webová služba (Site1) \ aktuální připojení" - název_počítače web-app01

Chcete-li se vyhnout zadávání názvu serveru pokaždé, můžete použít proměnnou prostředí COMPUTERNAME

Get-Counter "webová služba (Site1) \ aktuální připojení" - název_počítače $ env: COMPUTERNAME

Chcete-li získat číselnou hodnotu čítače „současných připojení“ celého webového serveru IIS (celková zátěž na IIS), můžete použít následující kód:

((Webová služba Get-Counter -ounter '(_total) \ aktuální připojení' -počítač $ env: COMPUTERNAME) | Select-Object -Expand Countersamples) .Cookedvalue

Zkusme pomocí jednoduchého skriptu vytvořit nějaké další relace s naším webem a zkontrolovat hodnotu čítače. Počet volání do služby IIS můžete ukončit pomocí rutiny Invoke-WebRequest, nebo můžete jednoduše otevřít několik oken v prohlížeči:

$ counter = 20
pro ($ i = 1; $ i -le $ counter; $ i ++)
$ SiteAdress = "http: // localhost: 9666 /"
Spusťte proces $ SiteAdress

Poté zkontrolujte hodnotu čítače aktuálních připojení a ujistěte se, že se zvyšuje.

Pokud je na serveru spuštěno několik serverů IIS a potřebujete získat počet připojení ke každému z nich ve formě tabulky, můžete použít tento skript (k získání dat ze služby IIS do prostředí PowerShell je třeba načíst modul WebAdministration):

webadministrace importního modulu
funkce get-CurrentConnection ($ Site)
"Počítadlo" webová služba ($ Site) \ aktuální připojení, webová služba ($ Site) \ Bytes Received / sec, web service ($ Site) \ Bytes Sent / sec "- Název_počítače $ env: COMPUTERNAME

$ IISsites = dir IIS: \ Sites | Vyberte jméno
$ CurrentConnection = @ ()
foreach ($ site in $ IISsites)

Napište hostitelský web $
$ ConnCount = Nový objekt psobject | get-CurrentConnection -Site $ site.name
$ CurrentConnection + = $ ConnCount

$ CurrentConnection | out-gridview

Můžete také zobrazit numerické hodnoty čítačů připojení pro všechny podobné weby (první hodnota je celkový počet připojení k IIS):

Get-wmiObject -class Win32_PerfRawData_W3SVC_WebService | select-object -expand aktuální připojení

Můžete také zobrazit informace o množství přijatých / přenesených dat pro každý web nebo celý webový server pomocí webové služby čítačů (název souboru) \ Bytes Received / sec a webové služby (název souboru) \ Bytes Sent / sec ».

Prověřili jsme tedy techniku, která vám umožní získat informace o zatížení stránek spuštěných na webovém serveru IIS.