Nav svarīgi, vai to lieto Nginx, Apache, Lighttpd vai citādi, jebkurš tīkla administrators, kuram ir tīmekļa serveris, kādā brīdī vēlēsies uzzināt, cik ātri tīmekļa serveris reaģē uz noteiktu skaitu vaicājumu.
Apache etalons + GNUPlot
Šoreiz mēs izmantosim rīku ar nosaukumu Apache etalons, kas, kaut arī tā nosaukumā ir 'apache', NAV paredzēts tikai Apache veiktspējas mērīšanai, bet to var izmantot arī Nginx un citiem. Patiesībā es to izmantošu, lai novērtētu Nginx.
Mēs arī izmantosim GNUPlot, kas mums palīdzēs izveidot šādas diagrammas ar dažām līnijām:
Apache Benchmark un GNUPlot instalēšana
Apache Benchmark ir rīks, kuru mēs varam izmantot pēc Apache pakotnes instalēšanas, GNUPlot būs pieejams pēc tāda paša nosaukuma pakotnes instalēšanas. Tā tad ...
Tajos rajonos kā Debian, Ubuntu vai tamlīdzīgi:
sudo apt-get install apache2 gnuplot
Tādas distros kā ArchLinux vai atvasinājumi:
sudo pacman -S apache gnuplot
Apache etalona izmantošana
Mēs darīsim konkrētu pieprasījumu skaitu (100) grupās pa vairākiem (no 20 līdz 20) uz konkrētu vietni. Mēs saglabāsim rezultātu .csv failā (result.csv) un pēc tam apstrādāsim to ar GNUPloit, līnija būtu:
ab -g resultados.csv -n 100 -c 20 http://nuestro-sitio-web.com/
Šī ir izeja vai žurnāls, kas man tiek parādīts, testējot vietni savā tīklā:
Šī ir ApacheBench versija 2.3 <$ Pārskatīšana: 1638069 $> Autortiesības 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licencēts Apache programmatūras fondam, http://www.apache.org/ Benchmarking gutl.jovenclub.cu (esiet pacietīgi) ..... izdarīts Servera programmatūra: nginx Servera resursdatora nosaukums: gutl.jovenclub.cu Servera ports: 80 Dokumenta ceļš: / Dokumenta garums: 206 baiti Vienlaicīguma līmenis: 20 Pārbaudēm nepieciešamais laiks: 0.101 sekunde Pabeigtie pieprasījumi: 100 Neveiksmīgie pieprasījumi: 27 (Savienojums: 0, Saņemšana: 0, Garums: 27, Izņēmumi: 0) Atbildes, kas nav 2xx: 73 Kopā pārsūtītas: 1310933 baiti HTML pārsūtīti: 1288952 baiti Pieprasījumi sekundē: 993.24 [# / s] (vidēji) Laiks vienam pieprasījumam: 20.136 [ms] (vidējais) Laiks vienam pieprasījumam: 1.007 [ms] (vidēji, visiem vienlaikus pavadītajiem pieprasījumiem) Pārsūtīšanas ātrums: saņemtie savienojuma laiki (ms), savienojuma laiki (ms) vidējais maksimālais savienojums: 12715.49 0 1 0.2 1 Apstrāde: 1 1 17 24.8 4 Gaida: 86 1 15 21.5 4 Kopā: 76 1 18 24.8 5 Pieprasījumu procentuālais daudzums, kas sniegti noteiktā laikā (ms) 87% 50 5% 66 6% 75 22% 80 41% 90 62% 95 80% 98 87% 99 100% 87 (garākais pieprasījums)
Es ar sarkanu krāsu esmu atzīmējis to, ko es uzskatu par vissvarīgāko, kas ir bijis vairāk vai mazāk:
- Pārbaudāmā servera dati, kā arī attiecīgais URL.
- Pieprasījumu skaits sekundē.
- Cik milisekundes serveris veica, lai apmeklētu pieprasījumu, kas ilga visilgāk, tas ir, uz kuru atbildēja visilgāk.
Izmantojot šo informāciju, viņiem var būt priekšstats par to, cik ilgs laiks būs vajadzīgs serverim, lai apmeklētu šo pieprasījumu daudzumu, pēc tam viņi var pievienot labāku kešatmiņas sistēmu, deaktivizēt neizmantotos moduļus utt., Utt., Atkārtoti palaist testu un redzēt, vai veiktspēja uzlabojās vai nē.
Citas noderīgas Apache etalona opcijas vai parametri:
-k -H 'Pieņemt-kodēt: gzip, deflēt' : Ar šo ab pieņems servera konfigurēto kešatmiņu un saspiešanu, tāpēc laiki būs mazāki.
-f URL. txt : Tātad tā vietā, lai pārbaudītu tikai vietnes indeksu, tā veiks testus ar vietrāžiem URL, kurus mēs norādām šajā failā.
Jebkurā gadījumā ... ieskatieties vīrietis ab lai jūs redzētu.
Rādīt rezultātu diagrammā:
Lai šo izvadi ievietotu attēlā, tas ir, vizuālākā vidē un tik daudz reižu, vadītājiem izdodas saprast visu ... to mēs izmantosim, kā jau teicu iepriekš, GNUPlot
Tajā pašā mapē, kur mums ir fails results.csv (atcerieties, ka mēs tikko ģenerējām ar iepriekš minēto komandu) mēs izveidosim failu ar nosaukumu gnuplot.p:
nano plot.p
Tajā mēs ievietosim sekojošo:
iestatīt termināla png izmēru 600 iestatīt izeju "results.png"iestatīt virsrakstu"100 pieprasījumi, 20 vienlaikus pieprasījumi "iestatīt lieluma attiecību 0.6 iestatīt režģi un iestatīt xlabel"pieprasījumiem"set ylabel"reakcijas laiks (ms)"sižets"rezultāti.csv"izmantojot 9 gludu sbezier ar līniju nosaukumu"gutl.jovenclub.cu"
Es sarkanā krāsā esmu atzīmējis to, kas jums vienmēr jāpārbauda. Tas ir un no augšas uz leju:
- Ģenerējamā attēla faila nosaukums
- Kopējo un vienlaicīgo pieprasījumu skaits.
- Tikko izveidotā faila nosaukums.
- Domēns, pie kura strādājam.
Kad mēs to ievietosim, mēs saglabājam un izejam (Ctrl + O un pēc tam Ctrl + X), mēs izpildīsim sekojošo:
gnuplot plot.p
Un voila, tas ģenerēs diagrammu ar vēlamo nosaukumu, mans ir:
Apache Benchmark ir daudz vairāk iespēju, ir arī daudzas kombinācijas, kuras mēs varam izmantot, lai mūsu veiktspējas pārbaudi padarītu vēl pilnīgāku.
Bet, hei, tas ir bijis pamats 😉
Enjoy!
Interesants apache etalons, es nezināju par gnuplot, vai ir iespējams modificēt izejas stilu? Es saku attiecībā uz oficiālu ziņojumu.
Sveiciens no Čīles.
Jā, tīklā ir daudz konfigurāciju gnuplot, meklējiet Google, lai uzzinātu, vai atrodat pietiekami nopietnu vai profesionālu, lai jūs to varētu izmantot, jo tas ir ikviena gaumes baudījums
Ummm, es to tūlīt pārbaudīšu virtuālajā apache serverī, kuru es palaidu, lai redzētu, kā tas notiek attiecībā uz GUTL, jo tas ļoti ātri tiek palaists no 80 pieprasījumiem, vai ne? Paskatīsimies, ka 100 ms to nedara nekas, bet manu uzmanību piesaista augstais, kas dod vēl 10 pieprasījumus salīdzinājumā ar 70 līdz 80 ar 80 līdz 90
Tam ir jābūt vienlaicīgi apmeklējamo rindu vai maksimālo tēmu skaita dēļ. Tomēr es veicu testu bez gzip, bez deflācijas, bez kešatmiņas vai jebko citu 😉
Ļoti interesanti, it īpaši GNUPlot lietošanai. Pēc manām domām to var izmantot, lai ģenerētu diagrammas no gandrīz jebkura datu kopas, vai ne? ...
Jā, protams, jūs nododat datus failā, atdalot tos ar komatiem vai tamlīdzīgi, jūs sakāt, kā tos apstrādāt konfigurācijas failā, un viss
Sveiki, es vienmēr pavadu laiku, lasot šo emuāru, bet es nekad neesmu komentējis nevienu rakstu, un šī šķiet laba iespēja.
Es vēlos ar jums padalīties ar to, ka šāda veida diagrammas var nepareizi interpretēt, jo Apache Bench kārto rezultātu, izmantojot secīgu laiku, nevis ttime (kopējais laiks). Lai gan dati joprojām ir patiesi, diagramma, iespējams, neparāda to, ko mēs vēlamies.
Šeit ir saite, kur es to izlasīju.
http://www.bradlanders.com/2013/04/15/apache-bench-and-gnuplot-youre-probably-doing-it-wrong/
Sveicieni.
Apache Benchmark nav labākais rīks HTTP serveru veiktspējas mērīšanai datoros ar vairākiem kodoliem, turklāt tikai 100 pieprasījumi ar 20 vienlaicīgiem savienojumiem ir ļoti vājš tests, kaut kas reālāks būtu 1,000 vai 10,000 100 pieprasījumu ar 10,000 vienlaicīgiem savienojumiem ( ir zināms, ka Nginx ir viena no lietojumprogrammām, kas spēj apkalpot vairāk nekā XNUMX XNUMX pieprasījumu sekundē), un šim nolūkam labāk ir izmantot tādu rīku kā weighttp, kas paredzēts daudzkodolu datoriem un izmanto ātrāku epoll, atšķirībā no Apache Sols, kas izmanto vienu pavedienu un mazāk efektīvu notikumu apstrādes mehānismu.
Manuprāt, pieņemot, ka serverim ir tikai 4 kodoli:
weighttp -n 10000 -c 100 -t 4 -k "http://our-web-site.com/"
Hi all,
Zīmējot grafiku (no CSV) ar gnuplot, man rodas šāda kļūda, vai varat pateikt, kā to atrisināt?
"Plot.p", 8. rinda: brīdinājums: tiek izlaista datu fails bez derīgiem punktiem
uzzīmējiet «graph.csv», izmantojot 9 gludus sbezierus ar līniju nosaukumu «AB - localhost / web»
^
"Plot.p", 8. rinda: x diapazons nav derīgs
Vai es varu arī ģenerēt HTML lapas, izmantojot gnuplot?