Drupalize.Me

 A Drupalize.Me Tutorial

Siege este un instrument util de testare a sarcinii pentru a adăuga la setul de instrumente de testare a performanței. De pe site:

Siege este o testare de sarcină HTTP și benchmarking utilitate. Acesta a fost conceput pentru a permite dezvoltatorilor web să-și măsoare codul sub presiune, pentru a vedea cum se va ridica pentru a se încărca pe internet. Siege acceptă autentificarea de bază, cookie-urile, protocoalele HTTP, HTTPS și FTP. Acesta permite utilizatorului să atingă un server cu un număr configurabil de clienți simulați. Acei clienți plasează serverul ” sub asediu.”

testarea încărcării este utilă pentru testarea performanței site-ului dvs. și a infrastructurii pe care rulează. Nu este nimic mai rău decât să ai o pagină pe site-ul tău postată pe un site popular și să te uiți la site-ul tău cum se prăbușește sub sarcină. Siege poate simula activitatea pe site-ul dvs. și apoi puteți utiliza site-ul dvs. din browser așa cum ați face în mod normal, în timp ce siege rulează și obțineți cu adevărat o idee despre modul în care site-ul dvs. răspunde sub sarcină.

această postare pe blog va acoperi instalarea Siege pe OS X și Linux și rularea unui test de încărcare de bază cu Siege.

ipoteze

acest tutorial presupune că vă simțiți confortabil folosind linia de comandă pentru a emite comenzi de bază și pentru a avea un site web instalat pe mașina dvs. locală pe care îl puteți testa.

instalarea Siege

descărcați

mai întâi, mergeți la https://www.joedog.org/siege-home/ și găsiți adresa URL pentru o arhivă a celei mai recente versiuni a aplicației Siege. La momentul scrierii, aceasta este versiunea Siege 3.1.0.

Salvați

acum deschideți aplicația Terminal, vom salva această arhivă în directorul nostru de descărcări.

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

extrageți arhiva

tar -xvf siege-3.1.0.tar.gz

schimbați directorul de arhivă

cd siege-3.1.0

configurați-l și construiți-l!

./configuremakemake install

citiți documentele

dacă aveți nevoie, consultați instrucțiunile complete de instalare.

Verificați versiunea instalată

excelent, acum putem testa că avem siege instalat corect, să verificăm versiunea pe care am instalat-o pe sistemul nostru.

siege -VSIEGE 3.1.0

ura, avem versiunea 3.1.0 de asediu instalat pe sistemul nostru, să trecem la unele teste!

testarea încărcării cu Siege

voi folosi un site Drupal pe care l-am instalat local pentru a încărca testul. Pentru a începe un asediu de bază, executați următoarea comandă utilizând adresa URL a site-ului dorit (folosesc http://drupal7.local):

siege http://drupal7.local

aceasta va începe siege cu opțiunile implicite, care este de 15 utilizatori simultani care accesează pagina index a site-ului dvs., până când opriți siege, apăsând control + c.

aceasta va oferi Statisticile siege pentru testul dvs:

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

interpretarea rezultatelor unui test de sarcină

acum, în primul rând, rezultatele mele nu sunt atât de impresionante, deoarece rulez acest lucru pe o mașină virtuală cu putere redusă pe mașina mea locală, dacă testați site-urile de producție, ar trebui să vă așteptați la timpi de răspuns mult mai rapizi.

terminologie

tranzacții este numărul de accesări ale serverului. În exemplu, 385 de tranzacții.

timpul scurs este durata întregului test de asediu. Aceasta se măsoară din momentul în care utilizatorul invocă Asediul până când ultimul utilizator simulat își finalizează tranzacțiile. Prezentat mai sus, testul a durat 76,02 secunde pentru a fi finalizat.

datele transferate sunt suma datelor transferate fiecărui utilizator simulat de asediu. Acesta include informațiile antet, precum și conținutul. Deoarece include informații despre antet, numărul raportat de siege va fi mai mare decât numărul raportat de server. În modul internet, care atinge adrese URL aleatorii într-un fișier de configurare, se așteaptă ca acest număr să varieze de la rulare la rulare.

timpul de răspuns este timpul mediu necesar pentru a răspunde solicitărilor fiecărui utilizator simulat.

rata tranzacției este numărul mediu de tranzacții pe care serverul a reușit să le gestioneze pe secundă, pe scurt: tranzacții împărțite la timpul scurs.

debitul este numărul mediu de octeți transferați în fiecare secundă de la server către toți utilizatorii simulați.

concurența este numărul mediu de conexiuni simultane, un număr care crește pe măsură ce performanța serverului scade.

tranzacții de succes este numărul de ori serverul a returnat un cod mai puțin de 400. În consecință, redirecționările sunt considerate tranzacții de succes.

testarea mai multor pagini

pentru a testa mai multe adrese URL, putem folosi un fișier URL pentru a furniza o listă de adrese URL pentru a testa în timpul asediului nostru. Creați un fișier text numit URL-uri.txt și adăugați adresele URL pe care doriți să le testați (una pe linie), creez a mea în directorul de acasă al utilizatorului meu la ~/URL-uri.Txt

Siege înțelege următorul format URL:

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

acum Puteți începe asediu și să ofere calea către fișierul creat, pentru a începe un test împotriva acestor URL-uri:

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

Internet Mode

Internet mode este o altă opțiune interesantă în Siege, în care fiecare URL-urile pe care un utilizator hit-uri în testul este randomizat. Acest lucru imită o situație din viața reală în care nu puteți prezice ce adresă URL va vizita o persoană pe site-ul dvs. Cealaltă implicație a acestei opțiuni este că nu există nicio garanție că fiecare pagină din fișierul text URL-uri va fi lovită, din cauza randomizării.

pentru a porni un asediu în modul internet, utilizați următoarea comandă, trecând din nou în calea adreselor URL.txt:

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

creșterea numărului de utilizatori concurenți

creșterea numărului de utilizatori concurenți se face cu steagul-c, trecând numărul de utilizatori concurenți cu care doriți să testați:

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

utilizatori concurenți( necesită argument): această opțiune permite utilizatorului să sublinieze serverul web cu numărul NUM de utilizatori simulați. Suma este limitată doar de resursele de calcul disponibile, dar în mod realist câteva sute de utilizatori simulați este egală cu de multe ori cu numărul respectiv în sesiunile reale ale utilizatorilor. Numărul selectat reprezintă numărul de tranzacții pe care serverul dvs. le gestionează. Nu reprezintă numărul de sesiuni concurente. Amintiți-vă, utilizatorii reali au nevoie de ceva timp pentru a citi efectiv pagina pe care au solicitat-o.

de asemenea, este util să folosiți steagul-d care vă permite să eșalonați tranzacțiile:

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 are mult mai multe de oferit și vă îndemn să citiți documentația în întregime pentru a obține o înțelegere mai completă, dar sperăm că acest tutorial vă va duce pe drum.

dacă trebuie să asediați paginile care necesită autentificare ca utilizator Drupal, consultați acest script de ajutor: https://github.com/msonnabaum/DrupalSiege

Dezinstalarea Siege și curățarea

dacă decideți că nu mai doriți să aveți Siege instalat pe sistemul dvs., dezinstalați-l mai întâi, apoi eliminați directorul sursă și arhive:

schimbați directorul în care ați descărcat Siege:

cd ~/Downloads/siege-3.1.0/make uninstall

acum Puteți elimina în siguranță folderul sursă și arhiva la:

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

mult zgomot pentru performanță

dacă site-ul dvs. simte că are performanțe slabe în timp ce este sub asediu, veți dori să aflați de ce! Unele lucruri de verificat:

  • încărcarea serverului
  • ați implementat vreo cache?

Lasă un răspuns

Adresa ta de email nu va fi publicată.