Drupalize.Me

 A Drupalize.Me Tutorial

Siege je užitečný nástroj pro testování zatížení, který můžete přidat do sady nástrojů pro testování výkonu. Z webových stránek:

Siege je HTTP zatížení testování a benchmarking nástroj. Byl navržen tak, aby weboví vývojáři změřili svůj kód pod nátlakem, aby viděli, jak se postaví na načtení na internetu. Siege podporuje základní autentizaci, soubory cookie, protokoly HTTP, HTTPS a FTP. Umožňuje uživateli zasáhnout server s konfigurovatelným počtem simulovaných klientů. Tito klienti umístí server “ v obležení.“

testování načítání je užitečné pro testování výkonu vašeho webu a infrastruktury, na které běží. Není nic horšího, než mít stránku na vašem webu zveřejněnou na populárním webu a sledovat, jak se vaše stránky rozpadají pod zatížením. Siege může simulovat aktivitu na vašem webu, a poté můžete svůj web používat z prohlížeče jako obvykle, zatímco vaše siege běží a opravdu získáte pocit, jak váš web reaguje pod zatížením.

tento blogový příspěvek se bude týkat instalace Siege na OS X a Linux a spuštění základního zátěžového testu s Siege.

předpoklady

tento tutoriál předpokládá, že používáte příkazový řádek k vydávání základních příkazů a máte na místním počítači nainstalovanou webovou stránku, kterou můžete otestovat.

instalace Siege

stáhnout

Nejprve přejděte na https://www.joedog.org/siege-home/ a najděte adresu URL pro archiv nejnovější verze aplikace Siege. V době psaní, to je Siege verze 3.1.0.

Uložit

nyní otevřete aplikaci Terminal, tento archiv uložíme do našeho adresáře ke stažení.

v OS X
cd ~/Downloadscurl -O http://download.joedog.org/siege/siege-3.1.0.tar.gz
v Linuxu
cd ~/Downloadswget http://download.joedog.org/siege/siege-3.1.0.tar.gz

rozbalte archiv

tar -xvf siege-3.1.0.tar.gz

změňte adresář archivu

cd siege-3.1.0

nakonfigurujte a sestavte jej!

./configuremakemake install

Přečtěte si dokumenty

pokud potřebujete, prostudujte si úplné pokyny k instalaci.

ověřte nainstalovanou verzi

skvělé, nyní můžeme vyzkoušet, že jsme siege nainstalovali správně, ověřme verzi, kterou jsme nainstalovali v našem systému.

siege -VSIEGE 3.1.0

Hurá, máme verzi 3.1.0 of siege nainstalován na našem systému, pojďme se na nějaké testování!

zatížení testování s Siege

budu používat Drupal stránky, které jsem nainstaloval místně načíst test. Chcete-li spustit základní obléhání, spusťte následující příkaz pomocí požadované adresy URL webu (používám http://drupal7.local):

siege http://drupal7.local

tím se spustí obléhání s výchozími možnostmi, což je 15 souběžných uživatelů, kteří přistupují na indexovou stránku vašeho webu, dokud nezastavíte obléhání stisknutím Ctrl + c.

to poskytne statistiky obléhání pro váš test:

Lifting the server siege... done.Transactions: 385 hitsAvailability: 100.00 %Elapsed time: 76.02 secsData transferred: 0.84 MBResponse time: 2.40 secsTransaction rate: 5.06 trans/secThroughput: 0.01 MB/secConcurrency: 12.18Successful transactions: 385Failed transactions: 0Longest transaction: 5.73Shortest transaction: 0.31

interpretace výsledků zátěžového testu

nyní, v první řadě, moje výsledky nejsou tak působivé, protože to běžím na virtuálním stroji s nízkým výkonem na mém místním počítači, pokud testujete výrobní místa, měli byste očekávat mnohem rychlejší dobu odezvy.

terminologie

transakce je počet přístupů serveru. V příkladu 385 transakcí.

uplynulý čas je doba trvání celého obléhacího testu. To se měří od okamžiku, kdy uživatel vyvolá siege, dokud poslední simulovaný uživatel nedokončí své transakce. Jak je uvedeno výše, dokončení testu trvalo 76,02 sekundy.

přenesená Data jsou součtem dat přenesených každému simulovanému uživateli siege. Obsahuje informace o záhlaví, stejně jako obsah. Protože obsahuje informace o záhlaví, číslo hlášené siege bude větší než číslo hlášené serverem. V režimu internet, který zasáhne náhodné adresy URL v konfiguračním souboru, se očekává, že se toto číslo bude lišit od běhu k běhu.

Doba odezvy je průměrná doba potřebná k reakci na požadavky každého simulovaného uživatele.

transakční sazba je průměrný počet transakcí, které byl server schopen zpracovat za sekundu, v kostce: transakce děleno uplynulým časem.

propustnost je průměrný počet bajtů přenesených každou sekundu ze serveru všem simulovaným uživatelům.

souběžnost je průměrný počet souběžných připojení, což je číslo, které se zvyšuje s poklesem výkonu serveru.

úspěšné transakce je počet, kolikrát server vrátil kód menší než 400. Přesměrování se proto považuje za úspěšné transakce.

testování více stránek

abychom mohli testovat více adres URL, můžeme použít Soubor URL k poskytnutí seznamu adres URL, které se mají testovat během našeho obléhání. Vytvořte textový soubor s názvem url.txt a přidejte adresy URL, proti kterým chcete testovat (jeden na řádek), vytvářím své v domovském adresáři mého uživatele na adrese ~/URL.txt

Siege rozumí následujícímu formátu URL:

# Comments proceeded by a hashhttp://drupal7.local/http://drupal7.local/node/2http://drupal7.local/node/7http://drupal7.local/rest/node

nyní můžete spustit siege a poskytnout cestu k souboru, který jste vytvořili, a zahájit test proti těmto adresám URL:

siege -f /path/to/your/urls.txt

internetový režim

internetový režim je další zajímavou možností v Siege, ve které jsou všechny adresy URL, které uživatel v testu zasáhne, randomizovány. To napodobuje situaci v reálném životě, ve které nemůžete předpovědět, kterou adresu URL osoba navštíví na vašem webu. Dalším důsledkem této možnosti je, že neexistuje žádná záruka, že každá stránka v textovém souboru URL bude zasažena kvůli randomizaci.

Chcete-li zahájit obléhání v režimu internet, použijte následující příkaz, který znovu předá cestu k adresám URL.txt:

siege -if /path/to/your/urls.txt

zvýšení počtu souběžných uživatelů

zvýšení počtu souběžných uživatelů se provádí pomocí příznaku-c a předání počtu souběžných uživatelů, se kterými chcete testovat:

siege -if /path/to/your/urls.txt -c 500
' -c NUM '' –concurrent=NUM '

souběžní uživatelé (vyžaduje argument): tato volba umožňuje uživateli zdůraznit webový server s počtem simulovaných uživatelů. Částka je omezena pouze dostupnými výpočetními prostředky, ale realisticky se několik set simulovaných uživatelů rovná mnohonásobku tohoto počtu ve skutečných uživatelských relacích. Číslo, které vyberete, představuje počet transakcí, které váš server zpracovává. Nepředstavuje počet souběžných relací. Pamatujte, že skuteční uživatelé si nějakou dobu přečtou stránku, kterou požadovali.

je také užitečné použít příznak-d, který vám umožní rozložit transakce:

siege -if /path/to/your/urls.txt -c 500 -d 3
' -d NUM '' –delay=NUM 'Each siege simulated user is delayed for a random number of seconds between one and NUM. If you are benchmarking performance, it is recommended that you use a 1 second delay ( -d1 ). The default value is three (3 ). This delay allows for the transactions to stagger rather then to allow them to pound the server in waves.

Siege má mnohem více co nabídnout, a já bych vás vyzval, abyste si přečetli dokumentaci v plném rozsahu, abyste získali úplnější porozumění, ale doufejme, že tento tutoriál vás dostane na cestu.

pokud potřebujete obléhat stránky, které vyžadují ověření jako uživatel Drupalu, podívejte se na tento pomocný skript: https://github.com/msonnabaum/DrupalSiege

odinstalování Siege a vyčištění

pokud se rozhodnete, že již nechcete mít Siege nainstalován ve vašem systému, nejprve jej odinstalujte, poté odeberte zdrojový adresář a archivy:

změňte adresář, do kterého jste Siege stáhli:

cd ~/Downloads/siege-3.1.0/make uninstall

nyní můžete bezpečně odebrat zdrojovou složku a archiv na adrese:

~/Downloads/siege-3.1.0~/Downloads/siege.-3.1.0.tar.gz

Mnoho povyku o výkonu

pokud se váš web cítí, že si vede špatně, zatímco je v obležení, budete chtít zjistit proč! Některé věci ke kontrole:

  • zatížení serveru
  • implementovali jste nějaké ukládání do mezipaměti?

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.