Si të kryeni një pikë referimi të performancës së serverit në internet?

A e dini kohën tuaj mesatare të përgjigjes? A e dini se sa përdorues të njëkohshëm mund të trajtojë faqja juaj?


Testimi i ngarkesës është thelbësor që aplikacionet në internet të njohin uebfaqen kapacitet. Nëse do të zgjidhni serverin në internet, atëherë një nga gjërat e para që dëshironi të bëni është të bëni testimin e ngarkesës dhe të shihni se cili funksionon mirë për ju.

Benchmarking mund t’ju ndihmojë të vendosni;

  • Cili server në internet funksionon më së miri
  • Numri i serverëve që ju nevojiten për të shërbyer x numrin e kërkesave
  • Cila konfigurim ju jep rezultatet më të mira

Ekzistojnë disa mjete në internet për të kryer një test stresi; megjithatë, nëse po kërkoni një zgjidhje brenda shtëpisë ose doni të përcaktoni vetëm performancën e serverit në internet, atëherë mund të përdorni ApacheBench dhe si alternativë disa nga mjetet e listuara më poshtë.

Unë kam përdorur Apache & Serveri Nginx i pritur në DigitalOcean për ta provuar atë.

ApacheBench

ApacheBench (ab) është një program i linjës së komandës me burim të hapur i cili funksionon me çdo server në internet. Në këtë post, unë do të shpjegoj se si ta instaloni këtë program të vogël dhe të kryeni testin e ngarkesës për të krahasuar rezultatet.

Apache

Le ta instalojmë ApacheBench duke përdorur një komandë yum.

instaloni mjetet httpd

Nëse tashmë keni mjete httpd, atëherë mund ta injoroni këtë.

Tani, le të shohim se si kryen për 5000 kërkesa me një konkurrencë prej 500.

[[Email mbrojtur] ] # ab -n 5000 -c 500 http: // localhost: 80 /
Ky është ApacheBench, Versioni 2.3 <Rishikimi i $: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Liçensuar në Fondacionin Apache Softuer, http://www.apache.org/
Benchmarking localhost (jini të durueshëm)
Plotësuar 500 kërkesa
Kompletuar 1000 kërkesa
Plotësuar 1500 kërkesa
Përfunduar 2000 kërkesa
Përfunduan 2500 kërkesa
Përfunduar 3000 kërkesa
Përfunduan 3500 kërkesa
Përfunduan 4000 kërkesa
Përfunduar 4500 kërkesa
Përfunduar 5000 kërkesa
Mbaruan 5000 kërkesa
Programe serveri: Apache / 2.2.15
Emri i hostit të serverit: lokalhost
Port serveri: 80
Rruga e Dokumentit: /
Gjatësia e dokumentit: 4961 bytes
Niveli i Konkurrencës: 500
Koha e marrë për teste: 13.389 sekonda
Kërkesa të plota: 5000
Kërkesa të dështuara: 0
Shkruaj gabime: 0
Përgjigjet jo-2xx: 5058
Gjithsej transferuar: 26094222 bytes
HTML transferuar: 25092738 bytes
Kërkesat për sekondë: 373.45 [# / sec] (mesatare)
Koha për kërkesë: 1338.866 [ms] (mesatare)
Koha për kërkesë: 2.678 [ms] (do të thotë, në të gjitha kërkesat e njëkohshme)
Shkalla e transferimit: 1903.30 [Kbytes / sec] e marrë
Koha e lidhjes (ms)
min mesatare [+/- sd] mesatare max
Lidhu: 0 42 20.8 41 1000
Përpunimi: 0 428 2116.5 65 13310
Në pritje: 0 416 2117.7 55 13303
Gjithsej: 51 470 2121.0 102 13378
Përqindja e kërkesave të ofruara brenda një kohe të caktuar (ms)
50% 102
66% 117
75% 130
80% 132
90% 149
95% 255
98% 13377
99% 13378
100% 13378 (kërkesa më e gjatë)
[[Email mbrojtur] ~] #

Kështu siç mund ta shihni, Apache ka trajtuar 373 kërkesa për sekondë, dhe iu deshën gjithsej 13.389 sekonda për të ofruar kërkesat totale.

Tani e dini që konfigurimi i paracaktuar mund të shërbejë për këto kërkesa të shumta, kështu që kur bëni ndryshime në konfigurim, mund të bëni përsëri provën për të krahasuar rezultatet dhe për të zgjedhur më i mirë një.

nginx

Le ta bëjmë testin atë që kemi bërë për Apache-n, në mënyrë që të mund ta krahasoni se cili performon më mirë.

[[Email mbrojtur] ] # ab -n 5000 -c 500 http: // localhost: 80 /
Ky është ApacheBench, Versioni 2.3 <Rishikimi i $: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Liçensuar në Fondacionin Apache Softuer, http://www.apache.org/
Benchmarking localhost (jini të durueshëm)
Plotësuar 500 kërkesa
Kompletuar 1000 kërkesa
Plotësuar 1500 kërkesa
Përfunduar 2000 kërkesa
Përfunduan 2500 kërkesa
Përfunduar 3000 kërkesa
Përfunduan 3500 kërkesa
Përfunduan 4000 kërkesa
Përfunduar 4500 kërkesa
Përfunduar 5000 kërkesa
Mbaruan 5000 kërkesa
Programe serveri: nginx / 1.10.1
Emri i hostit të serverit: lokalhost
Port serveri: 80
Rruga e Dokumentit: /
Gjatësia e dokumentit: 3698 bytes
Niveli i Konkurrencës: 500
Koha e marrë për teste: 0.758 sekonda
Kërkesa të plota: 5000
Kërkesa të dështuara: 0
Shkruaj gabime: 0
Totali i transferuar: 19660000 bytes
HTML transferuar: 18490000 bytes
Kërkesat për sekondë: 6593.48 [# / sec] (mesatare)
Koha për kërkesë: 75.832 [ms] (mesatare)
Koha për kërkesë: 0,152 [ms] (do të thotë, në të gjitha kërkesat e njëkohshme)
Shkalla e transferimit: 25317.93 [Kbytes / sec] e marrë
Koha e lidhjes (ms)
min mesatare [+/- sd] mesatare max
Lidhu: 0 6 11.0 2 53
Përpunimi: 5 19 8.2 17 53
Në pritje: 0 18 8.2 16 47
Gjithsej: 10 25 17.4 18 79
Përqindja e kërkesave të ofruara brenda një kohe të caktuar (ms)
50% 18
66% 21
75% 21
80% 22
90% 69
95% 73
98% 75
99% 76
00% 79 (kërkesa më e gjatë)
[[Email mbrojtur] ~] #

UAU! E pa? Nginx trajtohet 6593 kërkesa për sekondë! Një fitues.

Kështu që ju shikoni vetëm duke krahasuar me dy serverë në internet do të merrni një ide që të zgjidhni për aplikacionin tuaj në internet.

Testi sipër është në CentOS 6.8, 64 bit. Mund të provoni kombinime të shumta të sistemit operativ & Versioni i serverit në internet për rezultatet optimale.

Rrethimi

Rrethimi është mjet i testit të ngarkesës HTTP i mbështetur në UNIX. Mund të vendosni URL të shumta në një skedar teksti për të ngarkuar provën kundër. Ju mund të instaloni rrethim duke përdorur yum.

# yum instaloni rrethimin

Le ta ekzekutojmë testin me 500 kërkesa të njëkohshme për 5 sekonda.

[[Email mbrojtur] ~] # rrethimi -q -t 5S-c 500 http: // localhost /
Heqja e rrethimit të serverit … bërë.
Transaksione: 4323 hits
Disponueshmëria: 100.00%
Koha e mbaruar: 4,60 sekonda
Të dhënat e transferuara: 15.25 MB
Koha e përgjigjes: 0.04 sekonda
Shkalla e transaksionit: 939.78 trans / sek
Xhiroja: 3.31 MB / sek
Konkurrencë: 37.97
Transaksione të suksesshme: 4323
Transaksionet e dështuara: 0
Transaksioni më i gjatë: 1.04
Transaksioni më i shkurtër: 0.00
[[Email mbrojtur] ~] #

Për të zbërthyer parametrat.

-q – për ta drejtuar atë në heshtje (duke mos treguar detaje të kërkesës)

-t – drejtuar për 5 sekonda

-c – 500 kërkesa të njëkohshme

Kështu siç mund ta shihni, disponueshmëria është 100% dhe koha e përgjigjes është 0.04 sekonda. Ju mund të shkulni parametrin e provës së ngarkesës bazuar në qëllimin tuaj.

Gobench

Gobench është shkruar në gjuhën Go dhe mjet i thjeshtë i testimit të ngarkesës për të krahasuar performancën e serverit në internet. Ai mbështet më shumë se 20,000 përdorues të njëkohshëm që ApacheBench nuk i ka.

Apache JMeter

JMeter është një nga mjetet më të njohura me burim të hapur për të matur performancën e aplikacionit në internet. JMeter është aplikacion i bazuar në Java dhe jo vetëm serveri në internet, por mund ta përdorni edhe kundër PHP, Java. ASP.net, SAP, REST, etj.

JMeter mori GUI të mirë miqësore, dhe versioni i fundit 3.0 kërkojnë Java 7 ose më të lartë për të filluar aplikacionin. Ju duhet të provoni për JMeter nëse qëllimi juaj është të zgjedh punën e aplikacionit në internet.

Wrk

Wrk është një tjetër mjet modern i matjes së performancës për të vendosur një ngarkesë në serverin tuaj të internetit dhe për t’ju dhënë vonesa, kërkesë për sekondë, transferim për sekondë, etj detaje.

Me wrk, ju mund të specifikoni të ekzekutoni një provë të ngarkesës me një numër temash.

Le të marrim një shembull të ekzekutimit të një testi për 5 minuta me 500 përdorues të njëkohshëm me 8 fije.

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

HTTPLoad

Httpload mund të lexojë URL të shumta nga skedari, ose mund t’i specifikoni ato në argumentin e komandës. Mbështetja për versionin më të fundit SSL / TLS që do të thotë se mund të kërkoni URL të faqes në internet të aktivizuar HTTPS (SSL).

Kur testoni URL-në e lejuar SSL, ju keni një mundësi për të specifikuar kodin, dhe komanda e thjeshtë e provës do të duket si kjo.

httpload -kifri AES256-SHA – 200 sekonda të tjera 120 URL_LIST.txt

Për ta kuptuar më mirë, më sipër do të zhvillohet testi kundër 200 përdoruesve të njëkohshëm për 2 minuta.

Curl-loader

curl-loader është shkruar në C për të simuluar ngarkesën e aplikacionit, dhe mbështet SSL / TLS. Së bashku me testin e faqeve në internet, mund të përdorni gjithashtu këtë mjet me burim të hapur për të kryer ngarkesën në serverët FTP.

Ju mund të krijoni një plan provë me një përzierje të HTTP, HTTPS, FTP dhe FTPS në një konfigurim të vetëm grupesh.

httperf

httperf është një mjet me performancë të lartë i cili përqendrohet në standardet e nivelit mikro dhe makro. Mbështet protokollet HTTP / 1.1 dhe SSL.

Nëse keni pritur një numër të përdoruesve të njëkohshëm dhe kërkoni të provoni nëse një numër i një kërkese mund të shërbehet nga serveri juaj në internet, atëherë mund të përdorni komandën e mëposhtme.

httperf –server localhost –port 80 –num-lid 1000 –rate 100

Komanda e mësipërme do të testojë me 100 kërkesa për sekondë për 1000 kërkesa HTTP.

Tsung

Tsung është një mjet për protokollin e shpërndarë me shumë protokolle për të stresuar HTTP, SOAP, PostgreSQL, LDAP, XAMP, MySQL server. Mbështet HTTP / 1.0, HTTP / 1.1 dhe cookies merren automatikisht.

Gjenerimi i një raporti është i mundshëm me Tsung.

përfundim

Shpresoj më lart mjete krahasimi ju jap një ide në lidhje me performancën e serverit tuaj të internetit dhe ndihmoni për të vendosur se çfarë funksionon më mirë për projektin tuaj.

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