Pārraugiet Apache servera veiktspēju

Ja vēlaties uzraudzīt a apache serveris, mums jāzina daži aspekti:

  • Cik daudz pieprasījumu tas var izturēt
  • Ātrums, kādā tas reaģē uz pieprasījumiem
  • Kāds ir gaidīšanas laiks
  • Kādas lietojumprogrammas vai pakalpojumus var uzlabot vai optimizēt
Lai izmērītu servera veiktspēju, mēs izmantosim rīku ar nosaukumu Apache Benchmark vai ApacheBench.

ApacheBenchApacheBench tā ir datora programmatūra, kas darbojas komandrindā, lai mērītu veiktspēju, jo īpaši tīmekļa serveru un http pakalpojuma. Šī programmatūra tika izstrādāta, lai pārbaudītu Apache HTTP serveri, taču, tā kā rīks http pakalpojumu pārbaudei, to var izmantot jebkura tīmekļa servera, piemēram, Nginx, Lighttpd.

Rīks ApacheBench tas atrodas Linux krātuvēs un kā bibliotēka Apache serverī, tāpēc ir bezmaksas, atvērtā pirmkoda programmatūra un izmanto Apache licenci.

Šāda veida pārbaudi ir ļoti viegli veikt ātri, izmantojot komandu Apache Bench ab.

Šis tests mums ātri parādīs, vai Apache instalācijā ir tūlītēja problēma, un tāpēc tā reaģē slikti.

Tas mums arī palīdz ar šādu jautājumu Cik tālu varu izmantot vai piespiest serveri un tā tīmekļa resursus, izmantojot Apache, PHP un MySQL? (ar vienlaicīgiem savienojumiem un ielādes pieprasījuma lapu), kā arī tas, kas mums ir jāoptimizē Apache un PHP konfigurācijā, lai iegūtu labāks sniegums un novērst problēmas, kas rodas, reaģējot uz apmeklētāju pieprasījumiem.

1. ApacheBench instalēšana Linux serveros


Ubuntu / Debian
 sudo apt-get install -y apache2 sudo apt-get install apache2-utils

Redhat / Centos

 yum instalēt httpd-tools

Mēs veiksim testus ar dažādiem domēniem un ip. Mēs sāksim, atverot termināļa logu un veicot šādus testus:

Vietējais serveris vai localhost arī ip 127.0.0.1

 ab 127.0.0.1/
vietējais saimnieks

2. Vaicājumi


Apskatīsim vaicājumu ar parametriem. Mēs nosūtām 100 pieprasījumus grupās pa 30 uz vietni google.com un saglabājam iegūtos datus csv failā, kods ir šāds:
 ab -g data.csv -n 100 -c 30 google.com/

Mēs analizējam rezultātu

 Servera programmatūra: GFE / 2.0 // Operētājsistēma Google tīmekļa serveris, kura pamatā ir Linux Server Hostname: google.com Servera ports: 80 Dokumenta ceļš: / Dokumenta garums: 262 baiti Vienlaicīguma līmenis: 30 Pārbaudēm nepieciešamais laiks: 1370 sekundes Pabeigtie pieprasījumi: 100 Neizdevušies pieprasījumi: 0 Ne-2xx atbildes: 100 Kopā pārsūtīti: 53100 baiti HTML pārsūtīts: 26200 baiti Pieprasījumu skaits sekundē: 73,01 [# / sek.] (Vidējais) // vidējais pieprasījums Laiks vienam pieprasījumam: 410,899 [ms] (vidējais) / / vidēji vienam pieprasījumam Laiks vienam pieprasījumam: 13,697 [ms] (vidējais rādītājs visos vienlaicīgajos pieprasījumos) // vidējais kopējais pārsūtīšanas ātrums: 37,86 [baiti / s] saņemtais savienojuma laiks (ms) // Savienojuma, procesa un gaidīšanas laiks min vidējais [+/- sd] median max Connect: 42 81 53,0 73 446 Apstrāde: 48 190 265,7 88 1286 Gaida: 46 114 148,2 86 1246 Kopā: 114 270 274,7 150 1369 Noteiktajā laikā sniegto pieprasījumu procentuālā daļa (ms) 50 % 150 66% 203 75% 222 80% 243 90% 844 95% 953 98% 1088 99% 1369 100% 1369 (garākais pieprasījums)

Mēs redzam, ka tā atbildēja uz 73 pieprasījumiem sekundē ar vidējo pieprasījuma laiku 410 899 milisekundes un pārsūtīšanas ātrumu 37,86 Kbaiti sekundē, kā arī redzam, kā atšķiras savienojums, process un gaidīšanas laiks.

CSV datu failam būs šāda struktūra.

CSV struktūra

 (starttime) Ot 24. marts 11:53:03 2015 - (sekundes) 1427208783 - (ctime) 46 - (dtime) 68 - (ttime) 114 - (gaidiet) 66 (starttime) Ot 24. marts 11:53:03 2015 - (sekundes) 1427208783 - (ctime) 46 - (dtime) 74 - (ttime) 120 - (gaidīt) 72 (starttime) Otrdien, 24. marts 11:53:03 2015 - (sekundes) 1427208783 - (ctime) 64 - (dtime) 56 - (laiks) 120 - (pagaidiet) 56

Tālāk no termināļa ar teksta redaktoru mēs izveidosim teksta failu, lai novērtētu vairākus viena domēna URL. Rīks ApacheBench atbalsta līdz 20 tūkstošiem šādu URL:

Failam būs šāda struktūra:

 http://example.com/index.html/ http://example.com/news.html/ http://pabdomēns.example.com/
Mēs pārbaudām vienu pieprasījumu vienlaikus:
 ab -g data.csv -n 1000 urls.txt
Šajā gadījumā, ApacheBench savākt adreses urls.txt un nosūtīt pieprasījumus serverim. Vietrāžu URL domēna nosaukumam visiem URL jābūt vienādiem.

Gadījums, kad 10 vienlaicīgi lietotāji katrs apmeklē vietni 10 reizes
Tas ir aptuveni 100 lapas, kuras ielādē 10 dažādi vienlaicīgi un regulāri lietotāji, katrs lietotājs veido 10 lapas, kuras tiek ielādētas vai tiek parādītas secīgi katrā pieprasījumā.

Mēs pārbaudām:

 ab -l -r -n 100 -c -k 10 http://www.eexample.com/clients/
Tas nozīmē maksimālo slodzi uz vietni, kas mēnesī saņem aptuveni 100 000 apmeklējumu, kas serverim ir jāatbalsta un jāatbild.

Gadījums, kad 50 vienlaicīgi lietotāji vienu un to pašu tīmekļa lapu apmeklē 20 reizesRuna ir par to, ka serveris atbild uz 1000 lapām, tas ir, 50 lietotājiem 20 pieprasījumiem vienlaikus, katrs lietotājs veic 20 vaicājumus lapām secīgi:

 ab -l -r -n 1000 -c -k50 http://www.eexample.com/chat/
To var izmantot, lai pārbaudītu emuāru vai sistēmu, kurā lietotāji vai apmeklētāji daudz komentē, nosūtot daudz pieprasījumu, piemēram, tērzēšanu vai komentāru sistēmu, piemēram, facebook.

Šāda veida pārbaude var būt līdzvērtīga ļoti aktīvas vietnes vai emuāra datplūsmai.

Ātrs PHP un MySQL testsMēs izveidojam jebkuru mysql datu bāzi vai, ja mums tāda ir jāpārbauda, ​​mēs to izmantojam, tad mēs izveidojam php skriptu ar nosaukumu absql.php

 AB Test Php un MySQL 
Mēs nosūtām 10 000 pieprasījumu uz skriptu un līdz ar to arī uz MySQL.
 ab -n 1000 -c 5 http://190.165.210.108/absql.php

Analizējiet katra testa rezultātus ar ApacheBench. Vissvarīgākie dati ir tie, kas sniedz mums informāciju par servera pieprasījumiem un atbildēm:

Analizējiet ApacheBench rezultātus1. Cik pieprasījumu sekundē serveris var apkalpot, apskatot? Pārējie rādītāji nav īpaši noderīgi, jo tie neatspoguļo kaut ko reālu šajā kontekstā.

2. Vai Apache tīmekļa lapā vai konfigurācijā ir kļūdas? Ja serverim ir vajadzīgs laiks, lai reaģētu, vai tas avarē, mums ir jāanalizē, vai ir problēmas ar atmiņu vai liels resursu patēriņš.

3. Kādā vienlaicīguma līmenī Apache serveris sāks palēnināties vai avarēt un cik ilgs būs gaidīšanas laiks? Ja tas notiek zemā vienlaicīguma līmenī, kaut kas nav kārtībā, mums vajadzētu zināt, kas tas ir un kas nepieciešams, lai tas darbotos, iespējams, vairāk servera resursu.

3. Faktori, kas jāņem vērā, lai uzlabotu Apache veiktspēju


Apache sniegums1. Mod_cache modulis no Apache uz pieprasījuma / rezultātu kešatmiņas lapu. Tas uzlabos veiktspēju 5-10 reizes salīdzinājumā ar visām citām metodēm kopā.

2. php_memcache pārvalda PHP skriptu un vaicājumu datu kešatmiņu. Tas var palielināt tīmekļa lapu veiktspēju par 50–100%.

3. Kešatmiņas spraudņi Joomla, WordPress, PrestaShop un dažiem Frameworks vai CMS.

4. Mod_expires modulis Apache, lai izmantotu apmeklētāja kešatmiņu un noteiktu laiku paturētu lapas, tā vietā, lai atkārtoti pieprasītu šīm lapām un atkārtoti ielādētu, tas darbojas, ja tīmeklis nemaina savu saturu katru minūti.

Vēl viens aspekts, kas lielā mērā ietekmē Apache veiktspēju PHP un MySQL, uzlabojot MySQL veiktspēju, optimizējot faila konfigurāciju my.ini no xampp, wampp vai lampp un optimizēt vaicājumus vai pieprasījumus tīmeklī, kas izmanto php un ģenerē saturu no MySQL, mēģinot optimizēt MySQL lēno vaicājumu žurnāla izmantošanu, lai redzētu, kāda ir problēma, un uzlabotu veiktspēju.

Ja vēlaties iegūt vairāk informācijas par to, kā lietot AppacheBench.

Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu
wave wave wave wave wave