Apache Benchmark + GNUPlot: Mittaa ja kuvaa graafisesti Web-palvelimesi suorituskykyä

Ei ole väliä, käytetäänkö sitä nginx, Apache, Lighttpd tai muuten, kuka tahansa verkonvalvoja, jolla on verkkopalvelin, haluaa jossain vaiheessa tietää, kuinka nopeasti web-palvelin vastaa tiettyyn kyselyyn.

Managed-Services-Server-Management-e1368625038693

Apache-vertailuarvo + GNUPlot

Tällä kertaa käytämme työkalua nimeltä Apache-vertailuarvo, joka vaikka nimessään on 'apache', EI OLE vain Apache-suorituskyvyn mittaamiseen, mutta sitä voidaan käyttää myös Nginxille ja muille. Itse asiassa käytän sitä mittaamaan nginx.

Käytämme myös GNUPlot, joka auttaa meitä tekemään tällaisia ​​kaavioita muutamalla rivillä:

Tulokset

Apache Benchmarkin ja GNUPlotin asentaminen

Apache Benchmark on työkalu, jota voimme käyttää Apache-paketin asentamisen jälkeen, GNUPlot on käytettävissä samannimisen paketin asentamisen jälkeen. Niin sitten ...

Distros, kuten Debian, Ubuntu tai vastaavat:

sudo apt-get install apache2 gnuplot

Distroissa, kuten ArchLinux tai johdannaiset:

sudo pacman -S apache gnuplot

Meidän on vain asennettava Apache-paketti, meidän ei tarvitse käynnistää sitä tai määrittää mitään muuta, vain sen asentaminen riittää.

Apache Benchmarkin käyttö

Lähetämme tietyn määrän pyyntöjä (100) usean ryhmän ryhmissä (20-20) tietylle sivustolle. Tallennamme tuloksen .csv-tiedostoon (result.csv) ja käsittelemme sen sitten GNUPloitin kanssa, rivi olisi:

ab -g resultados.csv -n 100 -c 20 http://nuestro-sitio-web.com/

On erittäin tärkeää lisätä lopullinen / mitattavan sivuston URL-osoitteeseen.

Tämä on lähtö tai loki, joka näyttää minut, kun testaan ​​verkkosivustoni sivustoa:

Tämä on ApacheBench, versio 2.3 <$ Versio: 1638069 $> Tekijänoikeudet 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Lisensoitu Apache Software Foundation -sivustolle, http://www.apache.org/ Benchmarking gutl.jovenclub.cu (ole kärsivällinen) ..... valmis

Palvelinohjelmisto: nginx Palvelimen isäntänimi: gutl.jovenclub.cu Palvelinportti: 80

Asiakirjan polku: /
Asiakirjan pituus: 206 tavua Samanaikaisuustaso: 20 Testeihin käytetty aika: 0.101 sekuntia Täydelliset pyynnöt: 100 Epäonnistuneet pyynnöt: 27 (Yhdistä: 0, Vastaanotto: 0, Pituus: 27, Poikkeukset: 0) Ei-2xx-vastaukset: 73 Siirretty yhteensä: 1310933 tavua siirretty HTML: 1288952 tavua
Pyyntöjä sekunnissa: 993.24 [# / s] (keskiarvo)
Aika per pyyntö: 20.136 [ms] (keskiarvo) Aika per pyyntö: 1.007 [ms] (keskiarvo, kaikissa samanaikaisissa pyynnöissä) Siirtonopeus: 12715.49 [kt / s] vastaanotetut yhteysajat (ms) min keskiarvo [+/- sd] mediaani maksimi yhteys: 0 1 0.2 1 1 Käsittely: 1 17 24.8 4 86 Odottaa: 1 15 21.5 4 76 Yhteensä: 1 18 24.8 5 87 Prosenttiosuus tietyssä ajassa toimitetuista pyynnöistä (ms) 50% 5 66% 6 75% 22 80% 41 90% 62 95% 80 98% 87 99% 87
100% 87 (pisin pyyntö)

Olen merkinnyt punaisella sen, mitä pidän tärkeimpänä, mikä on ollut enemmän tai vähemmän:

  1. Testattavan palvelimen tiedot sekä kyseinen URL.
  2. Pyyntöjen määrä sekunnissa.
  3. Kuinka monta millisekuntia palvelimella kului vastaamaan pyyntöön, joka kesti pisimpään, eli siihen, johon vastaaminen piti kaikkein pisin.

Näiden tietojen avulla heillä voi olla käsitys siitä, kuinka kauan palvelimella kestää vastaavan määrän pyyntöjä, he voivat sitten lisätä paremman välimuistijärjestelmän, deaktivoida moduulit, joita he eivät käytä jne., Jne., Suorittaa testin uudelleen ja katso onko suorituskyky parantunut vai ei.

Suosittelen suorittamaan testi 2 tai 3 kertaa, jotta luot jotain marginaalia, koska kahden peräkkäisen testin tulokset ovat harvoin identtisiä.

Muita hyödyllisiä Apache-vertailuarvon vaihtoehtoja tai parametreja:

-k -H 'Hyväksy-koodaus: gzip, tyhjennä' : Tämän avulla ab hyväksyy palvelimen määrittelemän välimuistin ja pakkauksen, joten ajat ovat lyhyempiä.

-f urls.txt : Joten sen sijaan, että vain testaisi sivuston hakemistoa, se suorittaa testit URL-osoitteille, jotka määritämme tiedostossa.

Joka tapauksessa ... katsokaa mies ab sinulle nähtäväksi.

Näytä tulos kaaviossa:

Tämän tuotoksen sijoittaminen kuvaan, toisin sanoen visuaalisempaan välineeseen ja niin monta kertaa, se on kaikki mitä johtajat onnistuvat ymmärtämään ... tähän käytämme kuten sanoin aiemmin, GNUPlot

Samassa kansiossa, jossa meillä on tiedosto results.csv (muista, että olemme juuri luoneet yllä olevalla komennolla) aiomme luoda tiedoston nimeltä gnuplot.p:

nano plot.p

Siinä asetamme seuraavat:

aseta päätteen png-koko 600 aseta lähtö "results.png"aseta otsikko"100 pyynnöt, 20 samanaikaiset pyynnöt "set size ratio 0.6 set grid and set xlabel"pyynnöt"set ylabel"vasteaika (ms)"juoni"tulokset.csv"käytetään 9 sileää sbezieriä rivinimikkeellä"gutl.jovenclub.cu"

Olen merkinnyt punaisella, mitä sinun tulisi aina tarkistaa. Eli ylhäältä alas:

  1. Luotavan kuvatiedoston nimi
  2. Yhteensä- ja samanaikaisten pyyntöjen määrä.
  3. Juuri luomamme tiedoston nimi.
  4. Verkkotunnus, jolla työskentelemme.

Kun laitamme sen sisään, tallenna ja poistu (Ctrl + O y luego Ctrl + X), toteutamme seuraavat:

gnuplot plot.p

Ja voila, joka tuottaa kaavion halutulla nimellä, minun on:

tuloksia2

Loppu!

Apache Benchmarkilla on paljon enemmän vaihtoehtoja, on myös monia yhdistelmiä, joiden avulla voimme tehdä suorituskykytestistä vieläkin täydellisemmän.

Mutta hei, tämä on ollut perusasiat 😉

Enjoy!


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   Francisco dijo

    Mielenkiintoinen apache-vertailuarvo, mitä gnuplot ei tiennyt, onko mahdollista muokata tuotoksen tyyliä? Sanon virallisen kertomuksen osalta.

    Terveisiä Chilestä.

    1.    KZKG ^ Gaara dijo

      Kyllä, netissä on paljon kokoonpanoja gnuplotille, etsi Googlesta, jos löydät tarpeeksi vakavia tai ammattimaisia, jotta voit käyttää sitä, koska se on kaikkien makuelämys

  2.   Wolf119 dijo

    Ummm Aion testata sitä nyt virtuaalisella apache-palvelimella, jonka olen käynnissä nähdäksesi, miten tämä menee GUTL: n suhteen, koska se laukaisee hyvin nopeasti 80 pyynnöstä, eikö? Katsotaanpa, että 100 ms ei. ei mitään, mutta korkein, joka antaa 10 enemmän pyyntöjä verrattuna 70-80 ja 80-90 kiinnittää huomioni

    1.    KZKG ^ Gaara dijo

      Sen täytyy johtua jonosta tai samanaikaisesti osallistuvien säikeiden enimmäismäärästä. Tein kuitenkin testin ilman gzip-tiedostoa, ilman tyhjennystä, ilman välimuistia tai muuta 😉

  3.   Jaska Jokunen dijo

    Erittäin mielenkiintoinen, erityisesti GNUPlot-sovelluksen käytössä. Mielestäni sitä voidaan käyttää kaavioiden luomiseen melkein mistä tahansa tietojoukosta, eikö? ...

    1.    KZKG ^ Gaara dijo

      Kyllä, tietysti välität tiedostot pilkuilla erotetulla tiedostolla tai vastaavalla, kerrot kuinka se käsitellään kokoonpanotiedostossa, ja siinä kaikki

  4.   Adolfo dijo

    Hei, vietän sen aina lukemalla tätä blogia, mutta en ole koskaan kommentoinut yhtään artikkelia, ja tämä näyttää hyvältä mahdollisuudelta.
    Haluan jakaa kanssasi, että tämän tyyppisiä kaavioita voidaan tulkita väärin, koska Apache-penkki lajittelee tuloksen käyttämällä aika-aikaa (kokonaisaika) peräkkäisen ajan sijasta. Vaikka tiedot ovat edelleen totta, kaavio ei todennäköisesti näytä mitä haluamme.
    Tässä on linkki, josta luin sen.
    http://www.bradlanders.com/2013/04/15/apache-bench-and-gnuplot-youre-probably-doing-it-wrong/

    Tervehdys.

  5.   Hugo dijo

    Apache Benchmark ei ole paras työkalu HTTP-palvelinten suorituskyvyn mittaamiseen tietokoneissa, joissa on useita ytimiä, lisäksi vain 100 pyyntöä 20 samanaikaisella yhteydellä on erittäin heikko testi, jotain realistisempaa olisi 1,000 tai 10,000 pyyntöä 100 samanaikaisella yhteydellä (tiedetään että Nginx on yksi sovelluksista, joka pystyy palvelemaan yli 10,000 pyyntöä sekunnissa), ja tähän on parempi käyttää työkalua, kuten weighttp, joka on suunniteltu moniydintietokoneille ja käyttää nopeampaa epollia, toisin kuin Apache Bench, joka käyttää yhtä ketjua ja vähemmän tehokasta tapahtumankäsittelymekanismia.

    Jos haluat laskea mielipiteeni, olettaen, että palvelimella on vain 4 ydintä:

    weighttp -n 10000 -c 100 -t 4 -k "http://our-web-site.com/"

  6.   usko dijo

    Hei kaikille,
    Piirrettäessä kaaviota (CSV: stä) gnuplotilla se antaa minulle seuraavan virheen, voitko kertoa minulle, kuinka se ratkaistaan?

    "Plot.p", rivi 8: varoitus: Ohitetaan datatiedosto ilman kelvollisia pisteitä

    piirtää «graph.csv» käyttäen 9 sileää sbezieriä ja linjat otsikolla «AB - localhost / web»
    ^
    "Plot.p", rivi 8: x-alue on virheellinen

    Voinko gnuplotilla luoda myös HTML-sivuja?