Apache Benchmark + GNUPlot: Neurtu eta irudikatu zure web zerbitzariaren errendimendua

Ez du axola erabiltzen den ala ez nginx, Apache, Lighttpd edo bestela, web zerbitzaria duen sareko edozein administratzailek noizbait jakin nahi du web zerbitzariak zenbateko azkar erantzuten duen zenbait kontsultari.

Kudeatutako zerbitzuak zerbitzariaren kudeaketa e1368625038693

Apache Benchmark + GNUPlot

Oraingoan izeneko tresna erabiliko dugu Apache Benchmark, bere izena "apache" duen arren, EZ da Apache errendimendua neurtzeko soilik, Nginx eta beste batzuetarako ere erabil daiteke. Egia esan, errendimendua neurtzeko erabiliko dut nginx.

Erabiliko dugu ere GNUPlot, eta horrek lagunduko digu lerro batzuekin horrelako grafikoak egiten:

emaitzak

Apache Benchmark eta GNUPlot instalatzea

Apache Benchmark Apache paketea instalatu ondoren erabil dezakegun tresna da, GNUPlot erabilgarri egongo da izen bereko paketea instalatu ondoren. Beraz, orduan ...

Debian, Ubuntu edo antzeko distribuzioetan:

sudo apt-get install apache2 gnuplot

ArchLinux edo deribatuak bezalako distribuzioetan:

sudo pacman -S apache gnuplot

Apache paketea bakarrik instalatu behar dugu, ez dugu abiarazi edo beste ezer konfiguratu beharrik, nahikoa izango da instalatzea.

Apache Benchmark erabiliz

Guk egingo duguna da eskaera kopuru zehatz bat (100) hainbat taldetan (20tik 20ra) gune zehatz batera bidaltzea. Emaitza .csv fitxategi batean gordeko dugu (result.csv) eta ondoren GNUPloit-ekin prozesatuko dugu, lerro hau izango litzateke:

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

Oso garrantzitsua da finala / neurtu beharreko gunearen URLan jartzea.

Hau da nire sareko gune bat probatzerakoan erakusten didan irteera edo erregistroa:

Hau da ApacheBench, 2.3 bertsioa <$ Revision: 1638069 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ The Apache Software Foundation-i lizentziaduna, http://www.apache.org/ Benchmarking gutl.jovenclub.cu (izan pazientzia) ..... egina

Zerbitzariaren softwarea: nginx zerbitzariaren ostalari izena: gutl.jovenclub.cu Zerbitzariaren ataka: 80

Dokumentuaren bidea: /
Dokumentuaren luzera: 206 byte Aldiberekotasun maila: 20 Probetarako denbora: 0.101 segundo Eskaera osatuak: 100 Hutsegite eskaerak: 27 (Konektatu: 0, Jaso: 0, Luzera: 27, Salbuespenak: 0) 2xx ez diren erantzunak: 73 Transferitu guztira: 1310933 byte HTML transferitu: 1288952 byte
Eskaera segundoko: 993.24 [# / seg] (batez bestekoa)
Eskaera bakoitzeko denbora: 20.136 [ms] (batez bestekoa) Eskaera bakoitzeko denbora: 1.007 [ms] (batez bestekoa, aldibereko eskaera guztietan) Transferentzia tasa: 12715.49 [Kbytes / seg] jasotako konexio denborak (ms) min batez bestekoa [+/- sd] mediana max Konektatu: 0 1 0.2 1 1 Prozesatzea: 1 17 24.8 4 86 Itxaron: 1 15 21.5 4 76 Guztira: 1 18 24.8 5 87 Denbora jakin batean (ms) emandako eskaeren ehunekoa% 50% 5 66% 6% 75 22 80% 41 90% 62 95% 80 98% 87 99% 87
% 100 87 (eskaerarik luzeena)

Gorriz markatu dut garrantzitsuena iruditzen zaidana, gutxi gorabehera:

  1. Probatzen ari garen zerbitzariaren datuak, baita URLa ere.
  2. Eskaera kopurua segundoko.
  3. Zerbitzariak zenbat milisegundo behar izan zituen zerbitzuak luzeena egin zuen eskaerari erantzuteko, hau da, erantzun luzeena izan zuenak.

Informazio horrekin zerbitzariak eskaera kopuru horretara joateko zenbat denbora beharko duen ideia izan dezakete, gero cache sistema hobea gehi dezakete, erabiltzen ez dituzten moduluak desaktibatu, etab., Proba berriro exekutatu eta errendimendua hobetu den edo ez ikusi. .

Proba bi edo 2 aldiz egitea gomendatzen dut, marjina bezalako zerbait sor dezazun, jarraian bi proben emaitzak oso gutxitan berdinak baitira.

Apache erreferentziako beste aukera edo parametro erabilgarri batzuk:

-k -H 'Onartu-Kodetzea: gzip, deflate' : Ab honekin zerbitzariak konfiguratutako cache eta konpresioa onartuko ditu, beraz, denborak txikiagoak izango dira.

-f urls.txt : Beraz, gunearen aurkibidea probatu beharrean, fitxategi horretan zehazten ditugun URLetan probak egingo ditu.

Dena den ... begiratu gizona ab zuk ikus dezazun.

Erakutsi emaitza grafiko batean:

Irteera hau irudi batean jartzea, hau da, euskarri bisualago batean eta askotan, kudeatzaileek ulertzen duten guztia da ... horretarako lehen esan bezala erabiliko dugu, GNUPlot

Results.csv fitxategia dugun karpeta bereangogoratu, goiko komandoarekin sortu dugula) gnuplot.p izeneko fitxategia sortuko dugu:

nano plot.p

Bertan honako hau jarriko dugu:

ezarri terminal png tamaina 600 ezarri irteera "emaitzak.png"ezarri izenburua"100 eskaerak, 20 aldibereko eskaerak "ezarri tamaina erlazioa 0.6 ezarri sareta eta ezarri xlabel"eskaerak"ezarri ylabel"erantzun denbora (ms)"trama"emaitzak.csv"lerroen izenarekin 9 haurtxo leun erabiltzen"gutl.jovenclub.cu"

Gorriz markatu dut beti egiaztatu beharrekoa. Hau da eta goitik behera:

  1. Sortu nahi den irudi fitxategiaren izena
  2. Eskaera guztien eta aldibereko kopurua.
  3. Sortu berri dugun fitxategiaren izena.
  4. Lantzen dugun domeinua.

Hori sartu ondoren, gorde eta irten (Ktrl + O y luego Ktrl + X), hau gauzatuko dugu:

gnuplot plot.p

Eta voila, nahi duzun izenarekin grafikoa sortuko duena, nirea da:

emaitzak2 Amaiera!

Apache Benchmark-ek askoz aukera gehiago ditu, konbinazio ugari ere badaude, gure errendimendu proba are osatuagoa izan dadin.

Baina tira, hau izan da oinarria 😉

Gozatu!


Artikuluaren edukia gure printzipioekin bat dator etika editoriala. Akats baten berri emateko egin klik hemen.

9 iruzkin, utzi zurea

Utzi zure iruzkina

Zure helbide elektronikoa ez da argitaratuko.

*

*

  1. Datuen arduraduna: Miguel Ángel Gatón
  2. Datuen xedea: SPAM kontrolatzea, iruzkinen kudeaketa.
  3. Legitimazioa: Zure baimena
  4. Datuen komunikazioa: datuak ez zaizkie hirugarrenei jakinaraziko legezko betebeharrez izan ezik.
  5. Datuak biltegiratzea: Occentus Networks-ek (EB) ostatatutako datu-basea
  6. Eskubideak: Edonoiz zure informazioa mugatu, berreskuratu eta ezabatu dezakezu.

  1.   Francisco esan zuen

    Apache erreferentzia interesgarria, ez nekien gnuplot-en inguruan. Posible al da irteeraren estiloa aldatzea? Txosten formal bati dagokionez esaten dut.

    Agur Txiletik.

    1.    KZKG ^ Gaara esan zuen

      Bai, sarean konfigurazio ugari daude gnuplot-erako. Bilatu Google-k, erabili ahal izateko nahikoa serioa edo profesionala aurkitzen duzun ala ez, denon gustua delako

  2.   Wolf119 esan zuen

    Ummm oraintxe probatuko dut exekutatzen ari naizen apache zerbitzari birtualean, hau nola gertatzen den ikusteko, GUTL-ri dagokionez, 80 eskaeretatik oso azkar jaurtitzen baita, ezta? Ikus dezagun 100 ms Ez dira ezer, baina 10 eskaerarekin alderatuta 70 eskaera gehiagorako ematen duen altuerak deitzen dit atentzioa

    1.    KZKG ^ Gaara esan zuen

      Aldi berean parte hartu beharreko gehieneko harien ilara edo kopurua dela eta izan behar da. Hala ere, proba gzip gabe egin nuen, deflatu gabe, cache edo ezer 😉 gabe

  3.   Charlie-marroia esan zuen

    Oso interesgarria, batez ere GNUPlot erabiltzeko. Ikusten dudanaren arabera ia edozein datu multzoetatik grafikoak sortzeko erabil daiteke, ezta? ...

    1.    KZKG ^ Gaara esan zuen

      Bai, noski, datuak komaz edo antzeko zerbaitekin bereizitako fitxategi batean pasatzen dituzu, konfigurazio fitxategian nola prozesatu adierazten duzu eta voila

  4.   Adolfo esan zuen

    Kaixo, beti pasatzen dut blog hau irakurtzen baina ez dut inoiz artikulurik komentatu, eta hau aukera ona dela dirudi.
    Zurekin partekatu nahi dudana da grafiko mota hau gaizki interpretatu daitekeela, Apache Bench-ek emaitza sekuentzialaren ordez ttime (denbora osoa) erabiliz ordenatzen baitu. Datuak oraindik egiazkoak diren arren, grafikoak ez du nahi duguna erakusten.
    Hemen irakurri nuen esteka.
    http://www.bradlanders.com/2013/04/15/apache-bench-and-gnuplot-youre-probably-doing-it-wrong/

    Agurra.

  5.   Hugo esan zuen

    Apache Benchmark ez da nukleo anitzeko ordenagailuetako HTTP zerbitzarien errendimendua neurtzeko tresnarik onena. Gainera, 100 eskaera aldi berean 20 konexio dituzten 1,000 eskaera oso proba ahula da, zerbait errealistagoa izango litzateke 10,000 edo 100 eskaera 10,000 aldi bereko konexioekin (jakina da Nginx dela segundoko XNUMX eskaera baino gehiago hornitzeko gai den aplikazioetako bat) eta horretarako hobe da weighttp bezalako tresna bat erabiltzea, nukleo anitzeko ordenagailuetarako diseinatua eta epoll azkarragoa erabiltzen duena, Apache Bench-ek ez bezala hari bakarra eta gertaerak kudeatzeko mekanismo ez hain eraginkorra erabiltzen ditu.

    Nire iritzia emateko, zerbitzariak 4 nukleo bakarrik dituela suposatuz:

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

  6.   fede esan zuen

    Hi all,
    Grafikoa (CSV-tik) gnuplot-ekin marraztean honako errore hau ematen dit, esan al dezakezu nola konpondu?

    "Plot.p", 8. lerroa: oharra: baliozko punturik gabeko datu fitxategia saltatzen

    marraztu «graph.csv» lerroaren izenarekin "AB - localhost / web" 9 haurtxo leuna erabiliz.
    ^
    "Plot.p", 8. lerroa: x barrutia baliogabea da

    Gnuplot-ekin, HTML orriak ere sor ditzaket?