Drupalize.Me

A Drupalize.Me Tutorial

Siege is een handige load testing tool om toe te voegen aan uw performance testing Toolkit. Van de website:

Siege is een HTTP load testing en benchmarking hulpprogramma. Het is ontworpen om webontwikkelaars hun code onder dwang te laten meten, om te zien hoe het bestand is tegen belasting op het internet. Siege ondersteunt basisverificatie, cookies, HTTP, HTTPS en FTP-protocollen. Het laat de gebruiker hit een server met een configureerbaar aantal gesimuleerde clients. Die klanten plaatsen de server onder vuur.”

het laden van testen is handig voor het testen van de prestaties van uw site, en de infrastructuur waarop het draait. Er is niets erger dan het hebben van een pagina op uw site geplaatst op een populaire site en kijken naar uw site crumble onder de belasting. Siege kan activiteiten op uw site simuleren, en u kunt uw site dan gebruiken vanuit uw browser zoals u normaal zou doen, terwijl uw siege wordt uitgevoerd en echt een gevoel krijgen voor hoe uw site reageert onder belasting.

deze blogpost gaat over het installeren van Siege op OS X en Linux, en het uitvoeren van een Basic load test met Siege.

aannames

deze tutorial gaat ervan uit dat u de commandoregel comfortabel kunt gebruiken om basiscommando ‘ s uit te geven en dat u een website op uw lokale machine kunt installeren die u kunt testen.

Siege installeren

Download

ga eerst naar https://www.joedog.org/siege-home/ en zoek de URL voor een archief van de nieuwste versie van de Siege-toepassing. Op het moment van schrijven is dat Siege Versie 3.1.0.

Save

open nu de Terminal app, we zullen dit archief opslaan in onze Downloads directory.

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

het archief

tar -xvf siege-3.1.0.tar.gz

uitpakken naar de archiefmap

cd siege-3.1.0

configureren en bouwen!

./configuremakemake install

lees de documenten

raadpleeg de volledige installatie-instructies.

controleer de geïnstalleerde versie

geweldig, nu kunnen we testen of we siege correct hebben geïnstalleerd, laten we de versie controleren die we op ons systeem hebben geïnstalleerd.

siege -VSIEGE 3.1.0

hoera, we hebben Versie 3.1.0 van siege geïnstalleerd op ons systeem, laten we naar beneden om wat testen!

Load Testing With Siege

ik ga een Drupal site gebruiken die ik lokaal heb geïnstalleerd om de test te laden. Om een basic siege start het volgende commando met behulp van uw gewenste site URL (Ik gebruik http://drupal7.local):

siege http://drupal7.local

dit start belegering met de standaardopties, dat is 15 gelijktijdige gebruikers die de indexpagina van uw site benaderen, totdat u de belegering stopt, door op control+c te drukken.

dit levert de belegeringsstatistieken voor uw test op:

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

het interpreteren van de resultaten van een belastingtest

ten eerste zijn mijn resultaten niet zo indrukwekkend, omdat ik dit op een virtuele machine met weinig vermogen op mijn lokale machine laat draaien.als u productielocaties belast, kunt u veel snellere responstijden verwachten.

terminologie

transacties is het aantal serverhits. In het voorbeeld, 385 transacties.

verstreken tijd is de duur van de volledige belegeringstest. Dit wordt gemeten vanaf het moment dat de gebruiker belegering aanroept tot de laatste gesimuleerde gebruiker zijn transacties voltooit. De test duurde 76,02 seconden om te voltooien.

overgedragen gegevens zijn de som van gegevens die worden overgedragen aan elke gesimuleerde belegeringssimulatiegebruiker. Het bevat de header informatie, evenals de inhoud. Omdat het header informatie bevat, zal het aantal gerapporteerd door siege groter zijn dan het aantal gerapporteerd door de server. In de internet-modus, die willekeurige URL ‘ s in een configuratiebestand raakt, zal dit aantal naar verwachting variëren van run tot run.

responstijd is de gemiddelde tijd die nodig was om te reageren op verzoeken van elke gesimuleerde gebruiker.

transactiesnelheid is het gemiddelde aantal transacties dat de server per seconde kon verwerken, in een notendop: transacties gedeeld door de verstreken tijd.

doorvoer is het gemiddelde aantal bytes dat elke seconde van de server naar alle gesimuleerde gebruikers wordt overgebracht.

Concurrency is het gemiddelde aantal gelijktijdige verbindingen, een aantal dat stijgt naarmate de prestaties van de server afnemen.

succesvolle transacties is het aantal keren dat de server een code minder dan 400 terugstuurde. Dienovereenkomstig, omleidingen worden beschouwd als succesvolle transacties.

meerdere pagina ’s testen

om meerdere URL’ s te testen, kunnen we een URL-bestand gebruiken om een lijst met URL ‘ s aan te bieden die we tijdens onze belegering moeten testen. Maak een tekstbestand met de naam url ‘ s.txt, en voeg de URL ’s die u wilt testen tegen (een per regel), ik maak de mijne in mijn gebruiker home directory op ~/URL’ s.txt

Siege begrijpt het volgende URL-formaat:

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

nu kunt u beginnen siege en het pad naar het bestand dat u hebt gemaakt, om een test te starten tegen die URL ‘ s:

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

Internet Mode

Internet mode is een andere interessante optie in Siege, waarbij elk van de URL ‘ s die een gebruiker hits in de test wordt gerandomiseerd. Dit bootst een real-life situatie waarin je niet kunt voorspellen welke URL een persoon zal bezoeken op uw site. De andere implicatie van deze optie is dat er geen garantie is dat elke pagina in het URL-tekstbestand zal worden geraakt, als gevolg van de randomisatie.

om een belegering in de internetmodus te starten, gebruik je het volgende commando, waarbij je opnieuw het pad van je URL ‘ s doorgeeft.txt:

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

het aantal gelijktijdige gebruikers verhogen

het aantal gelijktijdige gebruikers verhogen wordt gedaan met de-c-vlag, het aantal gelijktijdige gebruikers doorgeven waarmee u wilt testen:

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

Concurrent users (vereist argument): deze optie staat de gebruiker toe om de webserver te benadrukken met NUM aantal gesimuleerde gebruikers. Het bedrag wordt alleen beperkt door de beschikbare computerbronnen, maar realistisch gezien is een paar honderd gesimuleerde gebruikers gelijk aan vele malen dat dat aantal in werkelijke gebruikerssessies. Het nummer dat u selecteert staat voor het aantal transacties dat uw server verwerkt. Het geeft niet het aantal gelijktijdige sessies weer. Vergeet niet dat echte gebruikers enige tijd nodig hebben om daadwerkelijk de pagina te lezen die ze hebben aangevraagd.

het is ook handig om de vlag-d te gebruiken waarmee je de transacties kunt spreiden:

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 heeft veel meer te bieden, en ik verzoek u dringend om de documentatie volledig te lezen om een vollediger begrip te krijgen, maar hopelijk krijgt deze tutorial u op weg.

als u pagina ‘ s moet belegeren die authenticatie vereisen als Drupal-gebruiker, bekijk dan dit helper-script: https://github.com/msonnabaum/DrupalSiege

deïnstalleren en opruimen

als u besluit dat u Siege niet langer op uw systeem wilt laten installeren, verwijder deze dan eerst en verwijder vervolgens de bronmap en archieven:

verander in de map waarnaar u Siege hebt gedownload:

cd ~/Downloads/siege-3.1.0/make uninstall

nu kunt u de bronmap veilig verwijderen en het archief op:

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

veel over Performance

als uw site het gevoel heeft dat het slecht presteert terwijl u belegerd bent, wilt u weten waarom! Sommige dingen om te controleren:

  • Server load
  • hebt u caching geïmplementeerd?

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.