Pokud píšete ASP nebo PHP aplikace nebo jste správce internetového serveru, je pro vás nesmírně důležité zjistit, kolik vaše (nebo cizí) aplikace spotřebovává výkonu. Můžete tak snadno odhalit, že vaše aplikace pracuje se zdroji serveru velice nehospodárně. Na testování výkonu webového serveru slouží speciální nástroje. O jednom z nich si dnes povíme něco bližšího.

Microsoft Web Application Stress Tool

Jedním z nejznámějších a možná i nejpoužívanějších nástrojů v tomto oboru je nástroj firmy Microsoft s názvem Web Application Stress Tool. Program je zdarma ke stažení na svém domovském webu, který najdete na adrese http://webtool.rte.microsoft.com/. Nástroj jde samozřejmě použít nejen na Internet Information Server od Microsoftu, ale i na jakýkoliv jiný webový server.

Ale předtím, než začnete testovat výkon svých stránek, tak vás chci varovat: zkoušejte to pouze na svém lokálním počítači nebo na vašem vlastním (třeba firemním) serveru. Pokud využíváte hosting některého poskytovatele, ROZHODNĚ nepoužívejte tyto nástroje na jeho servery. Hostingové firmy to nemají rády a většinou mají zakotveno i ve smlouvách, že tento a podobné nástroje nesmíte používat. Toto rozhodnutí je pochopitelné, protože pokud je vaše aplikace špatná (tj. vytěžuje server příliš), můžete tímto nástrojem, který je schopen generovat velký počet přístupů, server zcela zahltit a možná i shodit. To si asi nepřeje žádný poskytovatel a proto je obvykle zakázáno podobné nástroje používat a obecně posílat na server hostingové firmy neodladěnou aplikaci. Takže to bylo varování pro začátek a teď se věnujme popisu vlastního nástroje.

Web Application Stress Tool

Základní filosofie nástroje spočívá v tom, že je schopen generovat podle zadaného klíče velký počet přístupů na vaše stránky – tím zatíží váš webserver a vy můžete na serveru např. pomocí nástroje Sledování výkonu (součástí Windows) sledovat, jak tito fiktivní uživatelé zatěžují procesor, paměť, jak rychle je schopen váš server vyřizovat požadavky, ke kolika chybám při tom dojde, apod. To ale samozřejmě není všechno. Nastavení celého nástroje je velmi sofistikované a umožňuje simulovat i velmi složité a komplexní chování uživatele, nejenom pouhé načítání jedné stránky za druhou.

Nový skript lze vytvořit čtyřmi způsoby

Základem každého testování je tzv. skript, který v podstatě obsahuje záznam toho, jak se mají vaši fiktivní uživatelé chovat, kterými stránkami brouzdají, na co na nich klikají, apod. Po spustění Web Apliccation Stress Tool (dále jen WAS) se objeví průvodce, který vám umožní vybrat jeden ze čtyř možných způsobů tvorby základního skriptu:

  • Manual – vytvoří prázdný skript, do kterého musíte ručně vyplnit stránky, které chcete načítat. Ručně musíte upravit chování fiktivních uživatelů.
  • Record – umožní vám "nahrát" chování uživatele. Pro začátečníky bude asi nejpoužívanější volbou a proto si ho rozebereme trochu podrobněji. V prvním kroku se vás WAS zeptá, co všechno chcete zaznamenávat. Můžete si zvolit záznam časových rozestupů mezi jednotlivými požadavky na stránky – pokud tedy v dalším kroku budete číst stránku 3 minuty a teprve potom kliknete na odkaz, udělá to WAS při běhu skriptu přesně tak – počká 3 minuty a teprve potom požádá o další stránku. Další možností je zaznamenávat cookies na klientovi, které browser odesílá serveru. Pokud takové cookies existují, WAS si je uloží k sobě a při testu je posílá serveru stejně, jako by to dělal samotný prohlížeč. Poslední možností je záznam hlaviček (headers), které odesílá prohlížeč serveru.
    Poté co zvolíte možnosti záznamu, WAS spustí Internet Explorer a na pozadí zaznamenává jeho chování. Normálně tedy do adresního řádku napíšete adresu vašich stránek a brouzdáte po nich tak, jak chcete aby to dělal váš fiktivní uživatel. Můžete klikat na odkazy, dopisovat URL v adresním řádku, vyplňovat formuláře (také se zaznamenávají, potom se posílá stejný obsah, jaký jste vyplnili), atd. Když skončíte nahráváním skriptu, je WAS připraven pro další práci.
  • Log file – WAS umožňuje analyzovat LOG soubor vašeho serveru a vytvořit skript podle něho. Tak v podstatě získáte dokonalý profil skutečných uživatelů, kteří navštěvují váš server.
  • Content – tato volba vám umožní vybrat adresář s obsahem vašeho webu. Vy potom ve stromové struktuře označíte soubory, které chcete zahrnout do testu.

Volby záznamu nového skriptu

Pokud máte vytvořen základní skript můžete vytvořit jednotlivé uživatele. Uživatele musíte vytvořit pouze v případě, že chcete používat autentifikovaný přístup nebo používat cookies. Klepnutím na tlačítko Users otevřete okno kde můžete vytvořit libovolný počet uživatelů. Seznam uživatelských jmen a hesel můžete také naimportovat z textového souboru.

Dalším nezbytným krokem je nastavení celého testu – tzn. kolik uživatelů bude simulovat, jakou rychlostí budou uživatelé přistupovat, apod. Můžete nastavit počet konkurenčních spojení, délku celého testu (ve dnech, hodinách, minutách a vteřinách), časový odstup mezi jednotlivými požadavky, dobu "zahřívání" a "vychládání" serveru. Dokonce můžete specifikovat rychlost připojení uživatelů a tak například simulovat připojení modemem s rychlostí 14.4 kbps.

Nastavení testu

Další zajímavou funkcí WAS jsou tzv. Page Groups – skupiny stránek. Jednotlivé stránky ve vašem testovacím skriptu můžete přiřadit do skupin a pak každé skupině určit procentuální podíl v celém testu. Pokud tedy např. z logu zjistíte, že stránka se slevami je na vašem webu navštěvovaná nejčastěji, vytvoříte si skupinu SLEVY a stránky se slevami do nich zahrnete. Naopak např. stránka produktu, které zdražili, se nebude těšit zvláštní oblibě, a proto ji vytvoříme skupinu ZDRAZENI. Skupině SLEVY pak přidělíme např. 40% všech hitů, které v testu proběhnou, zatímco skupině ZDRAZENI přiřadíme třeba 1% a na všechny ostatní stránky, zbude dohromady 49%.

Poslední a pro administrátora nebo tvůrce tou nejdůležitější částí aplikace jsou Reports – tedy vlastně vlastní výsledky testů. Ve výsledcích se můžete podívat na souhrn za celý testovací soubor stránek, na statistiky každé jednotlivé stránky nebo skupiny stránek, zjistíte zde hodnoty jednotlivých Counterů (měřičů výkonu, např. vytížení procesoru, paměti, doba vyřízení požadavku). Pokud si dáte práci a nastavíte si pro vás důležité Performance Countery a potom si pečlivě analyzujete výsledky testu, můžete se toho o své aplikaci a serveru spoustu dozvědět. Většinou to bude nemilé překvapení a pak vám nezbude nic jiného, než optimalizovat a optimalizovat.

Reports - výsledky testu

Pokud se rozhodnete WAS používat, doporučuji prostudovat web, který se WAS věnuje. Také prostudování helpu vám poskytne užitečné tipy. Ještě jednou připomínám, že WAS si můžete stáhnout na adrese http://webtool.rte.microsoft.com/.

Žádný příspěvek v diskuzi

Odpovědět