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.