Kaip atlikti interneto serverio našumo etaloną?

Ar žinote savo svetainės vidutinį reakcijos laiką? Ar žinote, kiek vienu metu naudojamų jūsų svetainės vartotojų gali??


Apkrovos tikrinimas yra būtinas, kad žiniatinklio programos žinotų svetainę talpa. Jei norite pasirinkti žiniatinklio serverį, tada vienas iš pirmųjų dalykų, kurį norite padaryti, yra atlikti apkrovos patikrinimą ir sužinoti, kuris iš jų jums tinka..

Lyginamoji analizė gali padėti apsispręsti;

  • Kuris žiniatinklio serveris veikia geriausiai
  • Serverių, kuriuos reikia aptarnauti, x užklausų skaičius
  • Kuri konfigūracija suteikia geriausius rezultatus

Yra keli internetiniai įrankiai, skirti atlikti testavimą nepalankiausiomis sąlygomis; tačiau jei jūs ieškote vidinio sprendimo ar norite palyginti tik žiniatinklio serverio našumą, tuomet galite naudoti „ApacheBench“ ir, kaip alternatyva, kai kurie iš žemiau išvardytų įrankių.

Aš naudojau „Apache“ & Priglobtas „Nginx“ interneto serveris „DigitalOcean“ išbandyti.

„ApacheBench“

„ApacheBench“ (ab) yra atvirojo kodo komandų eilutės programa, veikianti su bet kuriuo interneto serveriu. Šiame įraše paaiškinsiu, kaip įdiegti šią mažą programą ir atlikti apkrovos testą, norint palyginti rezultatus.

Apache

Įdiegkime „ApacheBench“ naudodami komandą „yum“.

yum įdiegti „httpd“ įrankius

Jei jau turite „httpd“ įrankius, tada galite to nepaisyti.

Pažiūrėkime, kaip ji veikia 5000 užklausų su 500 kartu.

[[apsaugotas el. paštu] ~] # ab -n 5000 -c 500 http: // localhost: 80 /
Tai „ApacheBench“, 2.3 versija <$ Peržiūra: 655654 $>
Autorinės teisės 1996 Adomas Twissas, „Zeus Technology Ltd“, http://www.zeustech.net/
Licencijuota „Apache Software Foundation“, http://www.apache.org/
Vietos dvasios palyginimas (būkite kantrūs)
Įvykdyta 500 užklausų
Įvykdyta 1000 užklausų
Įvykdyta 1500 užklausų
Įvykdyta 2000 užklausų
Įvykdyta 2500 užklausų
Įvykdyta 3000 užklausų
Įvykdyta 3500 užklausų
Įvykdyta 4000 užklausų
Įvykdyta 4500 užklausų
Įvykdyta 5000 užklausų
Pabaigta 5000 užklausų
Serverio programinė įranga: „Apache“ / 2.2.15
Serverio pagrindinis vardas: localhost
Serverio prievadas: 80
Dokumento kelias: /
Dokumento ilgis: 4961 baitai
Lygiagretumo lygis: 500
Testų laikas: 13,389 sek
Užpildyta užklausa: 5000
Nepavyko pateikti užklausų: 0
Rašymo klaidos: 0
Ne 2xx atsakymai: 5058
Iš viso perduota: 26094222 baitai
Perduotas HTML kodas: 25092738 baitai
Prašymai per sekundę: 373,45 [# / sek] (vidurkis)
Laikas vienai užklausai: 1338.866 [ms] (vidutinis)
Laikas vienai užklausai: 2 678 [ms] (vidurkis visoms vienu metu vykstančioms užklausoms)
Perdavimo sparta: 1903.30 [Kbaitai / sek] gauta
Prisijungimo laikas (ms)
min. vidutinė [+/- sd] mediana maks
Prijunkite: 0 42 20,8 41 1000
Apdorojimas: 0 428 2116,5 65 13310
Laukiama: 0 416 2117.7 55 13303
Iš viso: 51 470 2121,0 102 13378
Per tam tikrą laiką įteiktų užklausų procentas (ms)
50% 102
66% 117
75% 130
80% 132
90% 149
95% 255
98% 13377
99% 13378
100% 13378 (ilgiausia užklausa)
[[apsaugotas el. paštu] ~] #

Taigi, kaip matote, „Apache“ tvarkė 373 užklausos per sekundę, ir visų užklausų aptarnavimas užtruko 13,389 sek.

Dabar jūs žinote, kad numatytoji konfigūracija gali aptarnauti šias daugybę užklausų, todėl atlikdami bet kokius konfigūracijos pakeitimus galite dar kartą atlikti testą, kad palygintumėte rezultatus ir pasirinktumėte geriausia vienas.

Nginx

Pabandykime tai, ką padarėme su „Apache“, kad galėtumėte palyginti, kuris iš jų veikia geriau.

[[apsaugotas el. paštu] ~] # ab -n 5000 -c 500 http: // localhost: 80 /
Tai „ApacheBench“, 2.3 versija <$ Peržiūra: 655654 $>
Autorinės teisės 1996 Adomas Twissas, „Zeus Technology Ltd“, http://www.zeustech.net/
Licencijuota „Apache Software Foundation“, http://www.apache.org/
Vietos dvasios palyginimas (būkite kantrūs)
Įvykdyta 500 užklausų
Įvykdyta 1000 užklausų
Įvykdyta 1500 užklausų
Įvykdyta 2000 užklausų
Įvykdyta 2500 užklausų
Įvykdyta 3000 užklausų
Įvykdyta 3500 užklausų
Įvykdyta 4000 užklausų
Įvykdyta 4500 užklausų
Įvykdyta 5000 užklausų
Pabaigta 5000 užklausų
Serverio programinė įranga: „nginx“ / 1.10.1
Serverio pagrindinis vardas: localhost
Serverio prievadas: 80
Dokumento kelias: /
Dokumento ilgis: 3698 baitai
Lygiagretumo lygis: 500
Testų laikas: 0,758 sekundės
Užpildyta užklausa: 5000
Nepavyko pateikti užklausų: 0
Rašymo klaidos: 0
Iš viso perduota: 19660000 baitų
Perduotas HTML kodas: 18490000 baitų
Prašymai per sekundę: 6593.48 [# / sek] (vidurkis)
Laikas vienai užklausai: 75,832 [ms] (vidutinis)
Laikas vienai užklausai: 0,152 [ms] (vidurkis visoms vienu metu vykstančioms užklausoms)
Perdavimo sparta: 25317.93 [Kbaitai / sek] gauta
Prisijungimo laikas (ms)
min. vidutinė [+/- sd] mediana maks
Prijunkite: 0 6 11,0 2 53
Apdorojimas: 5 19 8,2 17 53
Laukiama: 0 18 8,2 16 47
Iš viso: 10 25 17,4 18 79
Per tam tikrą laiką įteiktų užklausų procentas (ms)
50% 18
66% 21
75% 21
80% 22
90% 69
95% 73
98% 75
99% 76
00% 79 (ilgiausia užklausa)
[[apsaugotas el. paštu] ~] #

OHO! Ar jūs tai matėte? Nginx tvarkė 6593 užklausos per sekundę! Nugalėtojas.

Taigi palyginę tik su dviem interneto serveriais gausite idėją, kurį pasirinkti savo interneto programai.

Virš bandymo yra 64 bitų „CentOS 6.8“. Galite išbandyti kelis OS derinius & Tinklo serverio versija optimaliems rezultatams gauti.

APGULA

APGULA yra HTTP apkrovos bandymo priemonė, palaikoma UNIX. Į teksto failą galite įdėti kelis URL, kad galėtumėte įkelti testą. Galite įdiegti apgultį naudodami yum.

# yum įdiegti apgultį

Paleiskime testą 5 sekundes kartu su 500 užklausų.

[[apsaugotas el. paštu] ~] # apgultis -q -t 5S -c 500 http: // localhost /
Atšauktas serverio apgultis … padaryta.
Sandoriai: 4323 hitai
Prieinamumas: 100,00%
Praėjęs laikas: 4,60 sek
Perduoti duomenys: 15,25 MB
Reakcijos laikas: 0,04 sek
Sandorio greitis: 939,78 trans / sek
Pralaidumas: 3,31 MB / sek
Lygiagretumas: 37.97
Sėkmingi sandoriai: 4323
Nepavyko įvykdyti operacijų: 0
Ilgiausia operacija: 1.04
Trumpiausias sandoris: 0.00
[[apsaugotas el. paštu] ~] #

Norėdami suskaidyti parametrus.

-q – tyliai paleisti (nerodyti išsamios užklausos informacijos)

-t – bėk 5 sekundes

-c – 500 vienalaikių užklausų

Taigi, kaip matote, pasiekiamumas yra 100%, o reakcijos laikas yra 0,04 sekundės. Remdamiesi savo tikslu, galite pakoreguoti apkrovos bandymo parametrą.

Gobenchas

Gobenchas yra parašyta „Go“ kalba ir paprasta apkrovos tikrinimo priemonė, skirta palyginti tinklo serverio našumą. Tai palaiko daugiau nei 20 000 tuo pačiu metu naudojamų vartotojų, kurių „ApacheBench“ neturi.

„Apache JMeter“

JMeteris yra vienas iš populiariausių atvirojo kodo įrankių, skirtų įvertinti interneto programų našumą. „JMeter“ yra „Java“ programa ir ne tik žiniatinklio serveris, bet jūs galite ją naudoti ir su PHP, „Java“. ASP.net, SOAP, REST. Ir kt.

„JMeter“ gavo tinkamą draugišką vartotojo sąsają, o naujausiai 3.0 versijai paleisti programą reikia „Java 7“ ar naujesnės versijos. Turite pabandyti JMeter, jei jūsų tikslas yra optimizuoti žiniatinklio programos našumą.

wrk

wrk yra dar vienas šiuolaikiškas našumo matavimo įrankis, įkeliantis jūsų interneto serverio apkrovą ir suteikiantis jums delsos, užklausos per sekundę, perkėlimo per sekundę ir pan..

Naudodami „wrk“, galite nurodyti atlikti apkrovos testą su daugybe gijų.

Paimkime pavyzdį, kaip 5 minutes atlikti testą 500 kartu dirbančių vartotojų su 8 gijomis.

wrk –t8 –c500 –d300s http: // localhost

„HTTPLoad“

„Httpload“ gali nuskaityti kelis URL iš failo arba galite nurodyti jį komandos argumente. Naujausia versija palaiko SSL / TLS, tai reiškia, kad galite užklausti HTTPS (SSL) įgalinto tinklalapio URL.

Testuodami URL, kuriame įjungta SSL, turite galimybę nurodyti šifrą, o paprasta bandymo komanda atrodytų taip.

„httpload -cipher AES256-SHA“ – paraleliai 200 sekundžių 120 URL_LIST.txt

Kad tai būtų geriau suprantama, aukščiau 2 minutes testas bus atliekamas su 200 tuo pačiu metu dirbančių vartotojų.

Garbanotas krautuvas

garbanojimo krautuvas yra parašytas C, kad būtų imituojamas programų įkėlimas, ir palaiko SSL / TLS. Be tinklalapio bandymo, naudodamiesi šiuo atvirojo kodo įrankiu taip pat galite įkelti FTP serverius.

Galite sukurti bandymo planą naudodami HTTP, HTTPS, FTP ir FTPS derinį vienoje paketų konfigūracijoje..

httperf

httperf yra didelio našumo įrankis, kurio pagrindinis dėmesys skiriamas mikro ir makro lygiui. Tai palaiko HTTP / 1.1 ir SSL protokolus.

Jei tikėjotės tuo pačiu metu dirbančių vartotojų skaičiaus ir norite patikrinti, ar jūsų užklausa gali būti patenkinama jūsų žiniatinklio serveryje, galite naudoti šią komandą.

„httperf“ – serverio „localhost“ – „port 80 “-„ 1000 “- 100 vertės

Aukščiau pateikta komanda bus patikrinta su 100 užklausų per sekundę 1000 HTTP užklausų.

Tsungas

Tsungas yra kelių protokolų paskirstytas testavimo nepalankiausiomis sąlygomis įrankis, skirtas įtakoti HTTP, SOAP, PostgreSQL, LDAP, XAMP, MySQL serverius. Tai palaiko HTTP / 1.0, HTTP / 1.1, o slapukai tvarkomi automatiškai.

Su „Tsung“ įmanoma sukurti ataskaitą.

Išvada

Tikiuosi aukščiau palyginimo įrankiai duos jums idėją apie savo žiniatinklio serverio našumą ir padės nuspręsti, kas geriausiai tinka jūsų projektui.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map