Drupalize.Me

 A Drupalize.Me Tutorial

Siege Egy hasznos terhelés tesztelő eszköz hozzá a teljesítmény tesztelő eszközkészlet. A weboldalról:

Siege egy HTTP terhelés tesztelés és benchmarking segédprogram. Úgy tervezték, hogy a webfejlesztők kényszer alatt mérjék kódjukat, hogy lássák, hogyan fog felállni az internet betöltésére. A Siege támogatja az alapvető hitelesítést, cookie-kat, HTTP, HTTPS és FTP protokollokat. Ez lehetővé teszi, hogy a felhasználó elérje a szerver egy konfigurálható számú szimulált ügyfelek. Ezek az ügyfelek a szervert “ostrom alá” helyezik.”

a betöltési tesztelés hasznos a webhely teljesítményének és az infrastruktúra teszteléséhez, amelyen fut. Semmi sem rosszabb, mint egy oldal a webhelyén egy népszerű webhelyen, és figyeli, hogy a webhely összeomlik a terhelés alatt. A Siege szimulálhatja a webhelyen végzett tevékenységeket, majd a böngészőből a szokásos módon használhatja webhelyét, miközben a siege fut, és valóban megtapasztalhatja, hogyan reagál a webhely terhelés alatt.

ez a blogbejegyzés a Siege OS X-re és Linuxra történő telepítéséről, valamint egy alapvető terhelési teszt futtatásáról szól.

feltételezések

ez az oktatóanyag feltételezi, hogy kényelmesen használhatja a parancssort alapvető parancsok kiadására, és telepíthet egy webhelyet a helyi gépére, amelyet tesztelhet.

a Siege telepítése

letöltés

először keresse meg a https://www.joedog.org/siege-home/ címet, és keresse meg a Siege alkalmazás legújabb verziójának archívumának URL-jét. Az írás idején ez az ostrom 3.1.0 verziója.

Mentés

most nyissa meg a terminál alkalmazást, ezt az archívumot a letöltési könyvtárba mentjük.

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

bontsa ki az archívumot

tar -xvf siege-3.1.0.tar.gz

váltson az archív könyvtárra

cd siege-3.1.0

konfigurálja és építse fel!

./configuremakemake install

olvassa el a dokumentumokat

ha szükséges, olvassa el a teljes telepítési útmutatót.

ellenőrizze a telepített verziót

nagyszerű, most tesztelhetjük, hogy megfelelően telepítettük-e az ostromot, ellenőrizzük a rendszerünkre telepített verziót.

siege -VSIEGE 3.1.0

hurrá, van 3-as verzió.1.0 ostrom telepítve a rendszerünkre, menjünk le néhány tesztelésre!

terhelés tesztelése ostrommal

egy helyben telepített Drupal webhelyet fogok használni a teszt betöltéséhez. Az alapvető ostrom elindításához futtassa a következő parancsot a kívánt webhely URL-jével (használom http://drupal7.local):

siege http://drupal7.local

ez az alapértelmezett beállításokkal indítja el a siege-t, amely 15 egyidejű felhasználó hozzáfér a webhely indexoldalához, amíg meg nem állítja az siege-t, a control+c megnyomásával.

ez biztosítja az ostrom statisztikáit a teszthez:

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

a terhelési teszt eredményeinek értelmezése

először is, az eredményeim nem olyan lenyűgözőek, mivel ezt egy alacsony fogyasztású virtuális gépen futtatom a helyi gépemen, ha terhelési tesztelő telephely, akkor sokkal gyorsabb válaszidőkre számíthat.

terminológia

tranzakciók száma szerver találatok. A példában 385 tranzakció.

az eltelt idő a teljes ostrompróba időtartama. Ezt attól az időponttól mérjük, amikor a felhasználó meghívja a siege-t, amíg az utolsó szimulált felhasználó befejezi tranzakcióit. A fent bemutatott teszt 76,02 másodpercet vett igénybe.

az átvitt adatok az összes siege szimulált felhasználónak továbbított adatok összege. Ez magában foglalja a fejléc információkat, valamint a tartalmat. Mivel fejléc információkat tartalmaz, a siege által jelentett szám nagyobb lesz, mint a szerver által jelentett szám. Internet módban, amely véletlenszerű URL-eket talál egy konfigurációs fájlban, ez a szám várhatóan futásonként változik.

a válaszidő az az átlagos idő, amely az egyes szimulált felhasználók kéréseinek megválaszolásához szükséges.

a tranzakciós arány azon tranzakciók átlagos száma, amelyeket a szerver másodpercenként képes kezelni, dióhéjban: tranzakciók osztva az eltelt idővel.

az áteresztőképesség a szerverről másodpercenként átvitt bájtok átlagos száma az összes szimulált felhasználónak.

a konkurencia az egyidejű kapcsolatok átlagos száma, amely a szerver teljesítményének csökkenésével növekszik.

sikeres tranzakciók száma, ahányszor a szerver visszaadott egy kódot kevesebb, mint 400. Ennek megfelelően az átirányításokat sikeres tranzakcióknak tekintik.

több oldal tesztelése

több URL teszteléséhez használhatunk egy URL-fájlt az ostrom során tesztelendő URL-ek listájához. Hozzon létre egy URL nevű szöveges fájlt.txt, és adja hozzá azokat az URL-eket, amelyeket tesztelni szeretne (soronként egy), létrehozom az enyémet a felhasználó saját könyvtárában a ~ / urls címen.txt

a Siege a következő URL-formátumot érti:

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

most már meg lehet kezdeni ostrom, és adja meg az utat, hogy a létrehozott fájl, hogy elkezd egy teszt ellen ezeket az URL-eket:

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

Internet mód

az Internet mód egy másik érdekes lehetőség a Siege-ben, amelyben a felhasználó által a tesztben elért URL-eket randomizálják. Ez utánozza a valós helyzetet, amelyben nem tudja megjósolni, hogy egy személy melyik URL-t fogja meglátogatni az Ön webhelyén. Ennek az opciónak a másik következménye az, hogy nincs garancia arra, hogy az URL-ek szövegfájljának minden oldala megüt, a randomizálás miatt.

az ostrom elindításához internetes módban használja a következő parancsot, ismét az URL-ek elérési útján haladva.txt:

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

az egyidejű felhasználók számának növelése

az egyidejű felhasználók számának növelése a-c jelzővel történik, átadva a tesztelni kívánt egyidejű felhasználók számát:

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

egyidejű felhasználók (argumentumot igényel): ez az opció lehetővé teszi a felhasználó számára, hogy a webkiszolgálót a szimulált felhasználók számával hangsúlyozza. Az összeget csak a rendelkezésre álló számítási erőforrások korlátozzák, de reálisan néhány száz szimulált felhasználó megegyezik a tényleges felhasználói munkamenetek számának sokszorosával. A kiválasztott szám a kiszolgáló által kezelt tranzakciók számát jelöli. Ez nem jelenti az egyidejű munkamenetek számát. Ne feledje, hogy a valódi felhasználóknak időbe telik, hogy valóban elolvassák az általuk kért oldalt.

hasznos a-d jelző használata is, amely lehetővé teszi a tranzakciók tántorgását:

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 sokkal többet kínál, és azt tanácsolom, hogy olvassa el a dokumentációt teljes egészében, hogy egy teljesebb megértése, de remélhetőleg ez a bemutató lesz az utat.

ha Drupal felhasználóként hitelesítést igénylő oldalakat szeretne ostromolni, nézze meg ezt a segítő szkriptet: https://github.com/msonnabaum/DrupalSiege

uninstalling Siege and clean Up

ha úgy dönt, hogy nem szeretné, hogy Siege telepítve a rendszer többé, először távolítsa el azt, majd távolítsa el a forrás könyvtárat, és archívumok:

változás a könyvtárba letöltött Siege:

cd ~/Downloads/siege-3.1.0/make uninstall

most már biztonságosan eltávolíthatja a forrásmappát, az archívumot pedig a:

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

Sok hűhó a teljesítményről

ha webhelye úgy érzi, hogy ostrom alatt rosszul teljesít, akkor meg akarja tudni, miért! Néhány dolog, amit ellenőrizni kell:

  • szerver terhelés
  • van végrehajtási bármilyen caching?

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.