GNU/Linux >> Znalost Linux >  >> Linux

Jak srovnávat výkon webového serveru pomocí Apache Bench

Pokud jste webmaster, můžete mít často obavy o výkon svých webových aplikací. Můžete se ptát na otázky jako:„Jak provedu zátěžové testování své aplikace? nebo „bude moje aplikace schopna zpracovat velké množství uživatelů?“ V těchto případech může být Apache Bench velkým pomocníkem. Apache Bench je bezplatný nástroj s otevřeným zdrojovým kódem pro měření výkonu webového serveru pomocí jednoduchého a snadno použitelného rozhraní příkazového řádku; může vám pomoci pochopit, jak funguje vaše aktuální instalace Apache.

V tomto tutoriálu vám ukážeme, jak nainstalovat a používat Apache Bench na Linuxu.

Předpoklady

  • Nové Ubuntu 18.04 VPS na cloudové platformě Atlantic.Net.
  • Na vašem serveru je nakonfigurováno heslo uživatele root.

Krok 1 – Vytvoření cloudového serveru Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 1 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte ke svému serveru Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

apt-get update -y

Krok 2 – Instalace Apache Bench

Apache Bench je součástí balíčku webového serveru Apache, takže pokud je ve vašem systému nainstalován webový server Apache, nemusíte Apache Bench instalovat.

Pro operační systém Ubuntu/Debian nainstalujte nástroj Apache Bench pomocí následujícího příkazu:

apt-get install apache2-utils -y

Pro operační systém RHEL/CentOS nainstalujte nástroj Apache Bench pomocí následujícího příkazu:

yum install httpd-tools -y

Všechny možnosti dostupné nástrojem Apache Bench můžete zobrazit pomocí následujícího příkazu:

ab

Měli byste vidět následující obrazovku:

Stručné vysvětlení nejčastěji používaných možností je uvedeno níže:

  • -n: Zadejte počet žádostí o připojení odeslaných na webový server.
  • -c: Zadejte počet souběžných požadavků na připojení odeslaných na webový server.
  • -t: Zadejte počet sekund, po které má příkaz ab pokračovat v odesílání požadavků.

Poznámka: Někdy se může zobrazit chyba „vypršel časový limit připojení“. Důvodem je váš požadavek na připojení zablokovaný firewallem nebo webový server Apache nebyl schopen zpracovat další požadavky.

Krok 3 – Provedení zátěžového testu

V tomto okamžiku je nainstalován nástroj Apache Bench. Nyní můžete provést zátěžový test proti vašemu webovému serveru lokálně nebo pomocí názvu domény.

Proveďme zátěžový test na vašem webovém serveru Apache odesláním 800 požadavků na 300 souběžných připojení.

ab -n 800 -c 300 http://your-domain-name/

To bude fungovat pro 800 požadavků se souběžností 300, jak je uvedeno níže:

This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Finished 800 requests
Server Software:        Apache/2.4.29
Server Hostname:        localhost
Server Port:            80
Document Path:          /
Document Length:        10918 bytes
Concurrency Level:      300
Time taken for tests:   0.459 seconds
Complete requests:      800
Failed requests:        0
Total transferred:      8953600 bytes
HTML transferred:       8734400 bytes
Requests per second:    1743.53 [#/sec] (mean)
Time per request:       172.064 [ms] (mean)
Time per request:       0.574 [ms] (mean, across all concurrent requests)
Transfer rate:          19056.29 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    6   7.8      0      20
Processing:     8   92 124.3     44     437
Waiting:        4   92 124.4     43     437
Total:         22   98 128.9     44     453
Percentage of the requests served within a certain time (ms)
  50%     44
  66%     50
  75%     53
  80%     56
  90%    435
  95%    445
  98%    450
  99%    452
 100%    453 (longest request)

Ve výše uvedeném výstupu můžete vidět, že Apache zpracoval 1743,53 požadavků za sekundu a obsloužení všech požadavků trvalo celkem 0,459 sekund.

Proveďme další zátěžový test na vašem webovém serveru Nginx a porovnejte jej s výsledkem Apache odesláním 800 požadavků na 300 souběžných připojení.

ab -n 800 -c 300 http://your-domain-name/

Měli byste vidět následující výstup:

This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Finished 800 requests
Server Software:        nginx/1.14.0
Server Hostname:        localhost
Server Port:            80
Document Path:          /
Document Length:        10918 bytes
Concurrency Level:      300
Time taken for tests:   0.184 seconds
Complete requests:      800
Failed requests:        0
Total transferred:      8930400 bytes
HTML transferred:       8734400 bytes
Requests per second:    4354.95 [#/sec] (mean)
Time per request:       68.887 [ms] (mean)
Time per request:       0.230 [ms] (mean, across all concurrent requests)
Transfer rate:          47474.91 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1   12   7.5      9      32
Processing:     5   33  12.8     30      56
Waiting:        4   26  12.9     22      49
Total:         15   46  13.6     46      70
Percentage of the requests served within a certain time (ms)
  50%     46
  66%     56
  75%     58
  80%     60
  90%     64
  95%     66
  98%     70
  99%     70
 100%     70 (longest request)

Ve výše uvedeném výstupu můžete vidět, že Apache zpracoval 4354,95 požadavků za sekundu a obsloužení všech požadavků trvalo celkem 0,184 sekund.

Můžete vidět, že Nginx zvládne více požadavků než Apache. Po porovnání výsledku obou serverů získáte představu, který z nich zvolit pro svou webovou aplikaci.

Závěr

Ve výše uvedené příručce jsme se naučili, jak testovat výkon webového serveru pomocí Apache Bench. Nyní můžete prozkoumat nástroj Apache Bench a spustit jej s různými možnostmi měření výkonu vašeho webového serveru; zkuste to ještě dnes na VPS Hosting od Atlantic.Net!


Linux
  1. Jak nakonfigurovat webový server Apache

  2. Jak nakonfigurovat více webových stránek s webovým serverem Apache

  3. Jak nainstalovat webový server Apache na Centos 8

  1. Jak nainstalovat webový server Apache na CentOS 7

  2. Jak odstranit webový server Apache z Ubuntu

  3. Jak nainstalovat webový server Apache na Ubuntu

  1. Jak zabezpečit webový server Apache pomocí Let's Encrypt na RHEL 8

  2. Jak nainstalovat webový server Apache na Linux

  3. Jak nastavit WordPress na serveru Ubuntu s Apache