Apache etalons + GNUPlot: novērtējiet un attēlojiet sava tīmekļa servera veiktspēju

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.

Pārvaldīts-Services-Server-Management-e1368625038693

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:

rezultāti

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

Mums ir jāinstalē tikai Apache pakete, mums tas nav jāsāk vai jākonfigurē nekas cits, pietiek ar to, ka instalējat to.

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 ļoti svarīgi ievietot galīgo / mērāmās vietnes URL.

Šī 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:

  1. Pārbaudāmā servera dati, kā arī attiecīgais URL.
  2. Pieprasījumu skaits sekundē.
  3. 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ē.

Iesaku testu veikt 2 vai 3 reizes, lai izveidotu kaut ko līdzīgu rezervei, jo divu testu rezultāti pēc kārtas reti ir identiski.

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:

  1. Ģenerējamā attēla faila nosaukums
  2. Kopējo un vienlaicīgo pieprasījumu skaits.
  3. Tikko izveidotā faila nosaukums.
  4. 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:

rezultāti2

Beigas!

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!


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   Francisco teica

    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.

    1.    KZKG ^ Gaara teica

      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

  2.   Wolf119 teica

    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

    1.    KZKG ^ Gaara teica

      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 😉

  3.   Čārlijs-Brauns teica

    Ļ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? ...

    1.    KZKG ^ Gaara teica

      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

  4.   Adolfo teica

    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.

  5.   Hugo teica

    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/"

  6.   ticība teica

    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?