Nesvarbu, ar jis naudojamas nginx, apache, „Lighttpd“ ar kitaip, bet kuris tinklo administratorius, turintis žiniatinklio serverį, tam tikru momentu norės sužinoti, kaip greitai žiniatinklio serveris atsako į nurodytą skaičių užklausų.
Šį kartą naudosime įrankį, vadinamą Apache etalonas, kuris nors ir turi „apache“ savo pavadinime, NĖRA tik Apache našumui matuoti, bet taip pat gali būti naudojamas Nginx ir kitiems. Tiesą sakant, aš naudosiu jį vertindamas nginx.
Mes taip pat naudosime GNUPlot, kuris padės mums sukurti panašius grafikus su keliomis eilutėmis:
„Apache Benchmark“ ir „GNUPlot“ diegimas
„Apache Benchmark“ yra įrankis, kurį galime naudoti įdiegę „Apache“ paketą. GNUPlot bus galima įdiegus to paties pavadinimo paketą. Taigi tada ...
Skirtuose, pvz., „Debian“, „Ubuntu“ ar panašiuose:
sudo apt-get install apache2 gnuplot
Skirstomosiose vietose, tokiose kaip „ArchLinux“ ar dariniai:
sudo pacman -S apache gnuplot
Turime įdiegti tik „Apache“ paketą, nereikia jo paleisti ar nieko kito konfigūruoti, pakaks tik jo įdiegti.
Naudojant „Apache Benchmark“
Tai, ką mes padarysime, bus nusiųsti konkretų užklausų skaičių (100) grupėmis po kelias (nuo 20 iki 20) į konkrečią svetainę. Rezultatą išsaugosime .csv faile (result.csv) ir tada apdorosime naudodami GNUPloit, eilutė būtų:
ab -g resultados.csv -n 100 -c 20 http://nuestro-sitio-web.com/
Labai svarbu įvesti galutinį / į matuojamos svetainės URL.
Tai yra išvestis arba žurnalas, kuris man rodomas, kai bandau svetainę savo tinkle:
Tai ApacheBench versija 2.3 <$ Revision: 1638069 $> Autorinės teisės 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licencijuota „Apache Software Foundation“, http://www.apache.org/ Benchmarking gutl.jovenclub.cu (būkite kantrūs) ..... padaryta
Serverio programinė įranga: nginx Serverio prieglobos pavadinimas: gutl.jovenclub.cu Serverio prievadas: 80Dokumento kelias: /
Dokumento trukmė: 206 baitai Lygiagretumo lygis: 20 Testams skirtas laikas: 0.101 sekundės Užbaigtos užklausos: 100 Nepavykusios užklausos: 27 (Prisijungti: 0, Gauti: 0, Ilgis: 27, Išimtys: 0) Ne 2xx atsakymai: 73 Iš viso perkelta: 1310933 baitai HTML perkelti: 1288952 baitai
Užklausos per sekundę: 993.24 [# / sek.] (Vidurkis)
Laikas vienai užklausai: 20.136 [ms] (vidurkis) Laikas vienai užklausai: 1.007 [ms] (vidurkis visoms tuo pačiu metu pateiktoms užklausoms) Perdavimo greitis: 12715.49 [Kbaitai / sek.] Gautas ryšio laikas (ms) min. Vidurkis [+/- sd] mediana max Prisijungimas: 0 1 0.2 1 1 Apdorojimas: 1 17 24.8 4 86 Laukimas: 1 15 21.5 4 76 Iš viso: 1 18 24.8 5 87 Užklausų, pateiktų per tam tikrą laiką, procentinė dalis (ms) 50% 5 66% 6 75% 22 80% 41 90% 62 95% 80 98% 87 99% 87
100% 87 (ilgiausia užklausa)
Raudonai pažymėjau, ką laikau svarbiausiu dalyku, kuris buvo daugmaž:
Testuojamo serverio duomenys ir aptariamas URL.
Užklausų skaičius per sekundę.
Kiek milisekundžių prireikė serverio, kad jis galėtų įvykdyti prašymą, kuris užtruko ilgiausiai, t. Y. Tą, į kurį atsakyta ilgiau.
Turėdami šią informaciją jie gali įsivaizduoti, per kiek laiko serveriui teks patenkinti tiek užklausų, tada jie gali pridėti geresnę talpyklos sistemą, deaktyvuoti nenaudojamus modulius ir pan., Iš naujo paleisti testą ir sužinoti, ar našumas pagerėjo, ar ne .
Aš rekomenduoju atlikti testą 2 ar 3 kartus, kad susidarytumėte panašų į skirtumą, nes retai dviejų bandymų iš eilės rezultatai yra vienodi.
Kitos naudingos „Apache Benchmark“ parinktys arba parametrai:
-k -H 'Priimti kodavimą: gzip, ištuštinti' : Naudodamiesi šia ab, priims serverio sukonfigūruotą talpyklą ir glaudinimą, todėl laikas bus mažesnis.
-f URL.txt : Taigi, užuot tik išbandžiusi svetainės indeksą, ji atliks URL, kuriuos nurodome tame faile, bandymus.
Šiaip ar taip ... pažvelk vyras ab kad tu pamatytum.
Rezultatą parodykite diagramoje:
Įterpti šią išvestį į vaizdą, ty į labiau vaizdinę terpę ir tiek kartų, yra viskas, ką valdytojams pavyksta suprasti ... tam naudosime, kaip sakiau anksčiau GNUPlot
Tame pačiame aplanke, kuriame turime failą results.csv (atminkite, kad mes tiesiog sugeneravome aukščiau pateiktą komandą) sukursime failą pavadinimu gnuplot.p:
nano plot.p
Į jį įdėsime:
nustatyti terminalo png dydį 600 nustatyti išvestį "rezultatai.png„nustatyti pavadinimą“100 prašymai, 20 lygiagrečios užklausos „nustatyti dydžio santykį 0.6 nustatyti tinklelį ir nustatyti xlabel“prašymus„set ylabel“atsako laikas (ms)„siužetas“rezultatai.csv"naudojant 9 sklandų sbezier su linijų pavadinimu"gutl.jovenclub.cu"
Raudonai pažymėjau tai, ką visada turėtumėte patikrinti. Tai yra ir iš viršaus į apačią:
Generuojamo vaizdo failo pavadinimas
Visų ir tuo pačiu metu pateiktų užklausų skaičius.
Ką tik sugeneruoto failo pavadinimas.
Domenas, kuriame dirbame.
Kai tai įdėsime, išsaugokite ir išeikite (Ctrl + O ir Ctrl + X), atliksime šiuos veiksmus:
gnuplot plot.p
O voila, tai sugeneruos grafiką su norimu pavadinimu, mano:
Pabaiga!
„Apache Benchmark“ turi daug daugiau galimybių, taip pat yra daug derinių, kuriuos galime naudoti, kad mūsų našumo testas būtų dar išsamesnis.
Bet ei, tai buvo pagrindai 😉
Kurkime kartu!
Straipsnio turinys atitinka mūsų principus redakcijos etika. Norėdami pranešti apie klaidą, spustelėkite čia.
Visas kelias į straipsnį: Iš „Linux“ » Tinklai / serveriai » „Apache Benchmark“ + GNUPlot: matuokite ir pavaizduokite žiniatinklio serverio našumą
Taip, tinkle yra daug konfigūracijų, skirtų „gnuplot“, ieškokite „Google“, norėdami sužinoti, ar rasite pakankamai rimtų ar profesionalių, kad galėtumėte juo naudotis, nes tai yra kiekvieno žmogaus skonis 🙂
Ummm, aš dabar išbandysiu tai virtualiame apache serveryje, kurį paleisiu, kad sužinotumėte, kaip tai vyksta, atsižvelgiant į GUTL, nes jis labai greitai suveikia iš 80 užklausų, tiesa? Pažiūrėkime, kad 100 ms nėra Tai nėra niekas, tačiau mano dėmesį atkreipia aukšta, kuri pateikia dar 10 užklausų, palyginti su 70–80 su 80–90
Tai turi būti dėl eilės arba maksimalių siūlomų temų, kurias reikia lankyti vienu metu, skaičiaus. Tačiau testą atlikau be „gzip“, be defliacijos, be talpyklos ar nieko 😉
Sveiki, aš visada praleidžiu laiką skaitydamas šį tinklaraštį, bet niekada nekomentavau jokio straipsnio, ir tai atrodo gera proga.
Noriu pasidalinti su jumis, kad tokio tipo diagramas galima klaidingai interpretuoti, nes „Apache Bench“ rezultatą rūšiuoja naudodama ttime (bendras laikas), o ne nuoseklų laiką. Nors duomenys vis dar teisingi, grafike tikriausiai neparodoma, ko norime.
Čia yra nuoroda, kur aš ją perskaičiau. http://www.bradlanders.com/2013/04/15/apache-bench-and-gnuplot-youre-probably-doing-it-wrong/
„Apache Benchmark“ nėra geriausias įrankis HTTP serverių našumui matuoti kompiuteriuose su keliais branduoliais, be to, tik 100 užklausų su 20 tuo pačiu metu esančių ryšių yra labai silpnas testas, realiau būtų 1,000 10,000 arba 100 10,000 užklausų su XNUMX vienu metu veikiančių ryšių (tai žinoma kad „Nginx“ yra viena iš programų, galinčių aptarnauti daugiau nei XNUMX XNUMX užklausų per sekundę), o tam geriau naudoti įrankį, pvz., „weighttp“, skirtą daugiagysliams kompiuteriams ir naudojančią greitesnį „epoll“, skirtingai nei „Apache Bench“, kuris naudoja vieną giją ir mažiau efektyvų įvykių tvarkymo mechanizmą.
9 komentarai, palikite savo
Įdomus „apache“ etalonas, aš nežinojau apie „gnuplot“, ar įmanoma modifikuoti išvesties stilių? Aš sakau kaip dėl oficialaus pranešimo.
Sveikinimai iš Čilės.
Taip, tinkle yra daug konfigūracijų, skirtų „gnuplot“, ieškokite „Google“, norėdami sužinoti, ar rasite pakankamai rimtų ar profesionalių, kad galėtumėte juo naudotis, nes tai yra kiekvieno žmogaus skonis 🙂
Ummm, aš dabar išbandysiu tai virtualiame apache serveryje, kurį paleisiu, kad sužinotumėte, kaip tai vyksta, atsižvelgiant į GUTL, nes jis labai greitai suveikia iš 80 užklausų, tiesa? Pažiūrėkime, kad 100 ms nėra Tai nėra niekas, tačiau mano dėmesį atkreipia aukšta, kuri pateikia dar 10 užklausų, palyginti su 70–80 su 80–90
Tai turi būti dėl eilės arba maksimalių siūlomų temų, kurias reikia lankyti vienu metu, skaičiaus. Tačiau testą atlikau be „gzip“, be defliacijos, be talpyklos ar nieko 😉
Labai įdomu, ypač naudojant GNUPlot. Iš to, ką matau, galima naudoti diagramų generavimui iš beveik bet kokio duomenų rinkinio, tiesa? ...
Taip, žinoma, jūs perduodate duomenis faile, atskirtame kableliais ar pan., Nurodote, kaip juos apdoroti konfigūracijos faile, ir voila
Sveiki, aš visada praleidžiu laiką skaitydamas šį tinklaraštį, bet niekada nekomentavau jokio straipsnio, ir tai atrodo gera proga.
Noriu pasidalinti su jumis, kad tokio tipo diagramas galima klaidingai interpretuoti, nes „Apache Bench“ rezultatą rūšiuoja naudodama ttime (bendras laikas), o ne nuoseklų laiką. Nors duomenys vis dar teisingi, grafike tikriausiai neparodoma, ko norime.
Čia yra nuoroda, kur aš ją perskaičiau.
http://www.bradlanders.com/2013/04/15/apache-bench-and-gnuplot-youre-probably-doing-it-wrong/
Sveikinimai.
„Apache Benchmark“ nėra geriausias įrankis HTTP serverių našumui matuoti kompiuteriuose su keliais branduoliais, be to, tik 100 užklausų su 20 tuo pačiu metu esančių ryšių yra labai silpnas testas, realiau būtų 1,000 10,000 arba 100 10,000 užklausų su XNUMX vienu metu veikiančių ryšių (tai žinoma kad „Nginx“ yra viena iš programų, galinčių aptarnauti daugiau nei XNUMX XNUMX užklausų per sekundę), o tam geriau naudoti įrankį, pvz., „weighttp“, skirtą daugiagysliams kompiuteriams ir naudojančią greitesnį „epoll“, skirtingai nei „Apache Bench“, kuris naudoja vieną giją ir mažiau efektyvų įvykių tvarkymo mechanizmą.
Manau, kad serveris turi tik 4 branduolius:
weighttp -n 10000 -c 100 -t 4 -k "http://mūsų svetainė.com/"
Sveiki visi,
Kai braižau grafiką (iš CSV) naudodamas „gnuplot“, man kyla tokia klaida: ar galėtumėte pasakyti, kaip ją išspręsti?
„Plot.p“, 8 eilutė: įspėjimas: praleidžiamas duomenų failas be galiojančių taškų
nubraižykite «graph.csv» naudodami 9 sklandžius sbezierius su linijomis, pavadinimu «AB - localhost / web»
^
„Plot.p“, 8 eilutė: x diapazonas neteisingas
Ar naudodamas „gnuplot“ taip pat galiu sugeneruoti HTML puslapius?