Drupalize.Me

 A Drupalize.Me Tutorial

Siege er et nyttigt belastningstestværktøj, der kan føjes til dit værktøjssæt til præstationstest. Fra hjemmesiden:

Siege er en HTTP belastning test og benchmarking nytte. Det var designet til at lade internetudviklere måle deres kode under tvang for at se, hvordan det vil stå op for at indlæse på internettet. Siege understøtter grundlæggende autentificering, cookies, HTTP, HTTPS og FTP protokoller. Det lader brugeren ramme en server med et konfigurerbart antal simulerede klienter. Disse klienter placerer serveren ” under belejring.”

indlæsningstest er nyttig til at teste ydeevnen på din hjemmeside og den infrastruktur, den kører på. Der er ikke noget værre end at have en side på din side lagt ud på et populært sted og se din side smuldre under belastningen. Siege kan simulere aktivitet på din hjemmeside, og du kan derefter bruge din hjemmeside fra din bro.ser, som du normalt ville, mens din siege kører og virkelig få en fornemmelse for, hvordan din hjemmeside reagerer under belastning.

dette blogindlæg vil dække installation af Siege på OS og køre en grundlæggende belastningstest med Siege.

antagelser

denne vejledning forudsætter, at du er komfortabel med at bruge kommandolinjen til at udstede grundlæggende kommandoer og have en hjemmeside installeret på din lokale maskine, som du kan teste.

installation af Siege

Hent

gå først over til https://www.joedog.org/siege-home/ og find URL ‘ en til et arkiv med den nyeste version af Siege-applikationen. I skrivende stund er det Siege version 3.1.0.

Gem

åbn nu Terminal-appen, Vi gemmer dette arkiv i vores bibliotek.

på OS
cd ~/Downloadscurl -O http://download.joedog.org/siege/siege-3.1.0.tar.gz
på Linuk
cd ~/Downloadswget http://download.joedog.org/siege/siege-3.1.0.tar.gz

Uddrag arkivet

tar -xvf siege-3.1.0.tar.gz

Skift til arkivmappen

cd siege-3.1.0

Konfigurer og opbyg det!

./configuremakemake install

Læs dokumenterne

hvis du har brug for det, skal du se den fulde installationsvejledning.

Bekræft installeret Version

fantastisk, nu kan vi teste, at vi har siege installeret korrekt, lad os kontrollere den version, vi har installeret på vores system.

siege -VSIEGE 3.1.0

Hurra, vi har version 3.1.0 af siege installeret på vores system, lad os komme ned til nogle test!

belastningstest med Siege

jeg skal bruge et Drupal-sted, som jeg har installeret lokalt for at indlæse test. For at starte en grundlæggende belejring køre følgende kommando ved hjælp af din ønskede site URL (jeg bruger http://drupal7.local):

siege http://drupal7.local

dette starter siege med standardindstillingerne, som er 15 samtidige brugere, der får adgang til din sides indeksside, indtil du stopper siege ved at trykke på control + c.

dette giver siege-statistikken til din 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

fortolkning af resultaterne af en belastningstest

nu er mine resultater først og fremmest ikke så imponerende, da jeg kører dette på en lavdrevet virtuel maskine på min lokale maskine, hvis du indlæser testproduktionssteder, bør du forvente meget hurtigere responstider.

terminologi

transaktioner er antallet af server hits. I eksemplet 385 transaktioner.

forløbet tid er varigheden af hele belejringstesten. Dette måles fra det tidspunkt, hvor brugeren påberåber sig siege, indtil den sidste simulerede bruger gennemfører sine transaktioner. Vist ovenfor tog testen 76,02 sekunder at gennemføre.

data overført er summen af data overført til hver siege simuleret bruger. Det omfatter header oplysninger samt indhold. Fordi det indeholder headeroplysninger, vil antallet rapporteret af siege være større end antallet rapporteret af serveren. I internettilstand, der rammer tilfældige URL ‘ er i en konfigurationsfil, forventes dette tal at variere fra Kør til Kør.

responstid er den gennemsnitlige tid, det tog at svare på hver simuleret brugers anmodninger.

transaktionshastighed er det gennemsnitlige antal transaktioner, som serveren var i stand til at håndtere pr.

gennemstrømning er det gennemsnitlige antal bytes, der overføres hvert sekund fra serveren til alle de simulerede brugere.

samtidighed er gennemsnitligt antal samtidige forbindelser, et tal, der stiger, når serverens ydeevne falder.

succesfulde transaktioner er antallet af gange serveren returnerede en kode mindre end 400. Derfor betragtes omdirigeringer som vellykkede transaktioner.

test af flere sider

for at teste flere URL ‘er kan vi bruge en URL-fil til at give en liste over URL’ er, der skal testes under vores belejring. Opret en tekstfil kaldet URL ‘ er.linje), Jeg opretter min i min brugers hjemmekatalog på ~/URL ‘ er.tekst

Siege forstår følgende URL-format:

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

nu Kan du starte siege og give stien til den fil, du oprettede, for at starte en test mod disse URL ‘ er:

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

Internettilstand

Internettilstand er en anden interessant mulighed i Siege, hvor hver URL ‘ er, som en bruger rammer i testen, er randomiseret. Dette efterligner en situation i det virkelige liv, hvor du ikke kan forudsige, hvilken URL en person vil besøge på din hjemmeside. Den anden implikation af denne mulighed er, at der ikke er nogen garanti for, at hver side i URL-tekstfilen bliver ramt på grund af randomiseringen.

for at starte en belejring i internettilstand skal du bruge følgende kommando og igen passere i stien til dine URL ‘ er.TST:

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

forøgelse af antallet af samtidige brugere

forøgelse af antallet af samtidige brugere sker med-C-flaget og passerer antallet af samtidige brugere, du gerne vil teste med:

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

samtidige brugere (kræver argument): denne indstilling giver brugeren mulighed for at understrege internetserveren med NUM antal simulerede brugere. Beløbet er kun begrænset af de tilgængelige computerressourcer, men realistisk set er et par hundrede simulerede brugere lig med mange gange det antal i faktiske brugersessioner. Det nummer, du vælger, repræsenterer antallet af transaktioner, din server håndterer. Det repræsenterer ikke antallet af samtidige sessioner. Husk, at rigtige brugere tager lidt tid til faktisk at læse den side, de har anmodet om.

det er også nyttigt at bruge-D-flag, som giver dig mulighed for at forskyde transaktionerne:

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 har meget mere at tilbyde, og jeg vil opfordre dig til at læse dokumentationen fuldt ud for at få en mere fuldstændig forståelse, men forhåbentlig vil denne tutorial få dig på vej.

hvis du har brug for at belejre sider, der kræver godkendelse som Drupal-bruger, skal du tjekke dette hjælpescript: https://github.com/msonnabaum/DrupalSiege

afinstallation af Siege og oprydning

hvis du beslutter dig for ikke at have Siege installeret på dit system længere, skal du først afinstallere det og derefter fjerne kildekataloget og arkivere:

Skift til den mappe, du hentede Siege til:

cd ~/Downloads/siege-3.1.0/make uninstall

nu Kan du sikkert fjerne kildemappen og arkivet på:

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

Meget Ado Om ydeevne

hvis din side føles som om den klarer sig dårligt under belejring, vil du gerne finde ud af hvorfor! Nogle ting at kontrollere:

  • Server load
  • har du implementeret nogen caching?

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.