GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat lavici Apache na RHEL 8

Apache Bench je užitečný malý nástroj pro testování doby odezvy webové služby, a tím i výkonu webového serveru. Můžeme určit počet požadavků k odeslání, cílovou adresu URL, nastavit souběžnost, abychom jmenovali některá nastavení tohoto nástroje.

I když takové simulované pracovní zátěže nepovedou k přesně stejným datům jako provoz ve skutečném světě, vždy je dobré je před zahájením výroby otestovat. Možná bychom před nasazením nové verze aplikace mohli spustit testy na nové verzi a porovnat výsledky s předchozími testovacími daty, abychom zjistili, zda naše aplikace bude sloužit pomaleji nebo rychleji než předchozí verze. Díky dobře naplánovanému testování může tento nástroj ukázat možná úzká hrdla aplikace a může poskytnout body zájmu, kde bychom se měli podívat do našeho kódu za účelem možné optimalizace.

V tomto tutoriálu nainstalujeme Apache Bench na Red Hat Enterprise Linux 8 a také webový server Apache, s nímž lze spouštět některé testy.

V tomto tutoriálu se naučíte:

  • Jak nainstalovat Apache Bench
  • Jak nainstalovat webový server httpd a přidat základní obsah
  • Jak spouštět jednoduché testy na webovém serveru

Spuštění testů výkonu proti místnímu webovému serveru pomocí Apache Bench.

Požadavky na software a použité konvence

Softwarové požadavky a konvence příkazového řádku systému Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém Red Hat Enterprise Linux 8
Software Apache Bench 2.3
Jiné Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz.
Konvence # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Jak nainstalovat Apache bench na Redhat 8 krok za krokem

Apache Bench je k dispozici v základních softwarových zdrojích po povolení repozitářů správy předplatného spolu s Apache httpd webový server. Abychom náš nástroj vyzkoušeli, přidáme na webový server základní obsah, statický i napsaný v php .

  1. K instalaci Apache Bench, který je v httpd-tools balíčku, použijeme dnf :
    # dnf install httpd-tools
  2. K vytvoření testovacího prostředí použijeme naše ab nástroj, nainstalujeme webový server s podporou php:
    # dnf install httpd php
  3. Přidáme statickou stránku HTML /var/www/html/index.html s následujícím obsahem:
    <html>
    <head>
    <title>Title of the webpage</title>
    </head>
    <body>
    <p>This is a simple html page.</p>
    </body>
    </html>

    A další stránka, která má za následek stejný obsah, ale je napsána v php záměrně marnotratným způsobem. Soubor bude /var/www/html/index.php , s níže uvedeným obsahem:

    <?php
    echo "<html>\n";
    echo "<head>\n";
    echo "<title>Title of the webpage</title>\n";
    echo "</head>\n";
    echo "<body>\n";
    echo "<p>This is a simple html page.</p>\n";
    echo "</body>\n";
    echo "</html>\n";
    ?>

    Všimněte si, že když poskytujeme statický text, potřebovali bychom pouze jedno echo , nebo vůbec žádné php. Tuto stránku jsme vytvořili pouze proto, abychom viděli rozdíl v době odezvy.

  4. Můžeme spustit náš webový server:
    # systemctl start httpd
  5. Nepotřebujeme root privilegia pro benchmarking. Pro první test spustíme ab oproti statické stránce index.html , poskytující 100 000 požadavků (-n) pro stránku v 10 souběžných vláknech (-c), v maximálním časovém rámci 60 sekund (-t). Na laboratorním stroji bude toto množství požadavků vyřízeno za jednu minutu, ale v závislosti na hardwaru to nemusí být dostatečné. Všimněte si také, že jsme eliminovali skutečný síťový provoz pomocí benchmarkingu z localhostu a tlačíme zátěž na spouštění požadavků a jejich obsluhu na stejném hardwaru.
    $ ab -t 60 -n 100000 -c 10 http://localhost/index.html
    This is ApacheBench, Version 2.3 <$Revision: 1826891
    
    
    
    
    
    

    gt;
    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 10000 requests
    Completed 20000 requests
    Completed 30000 requests
    Completed 40000 requests
    Completed 50000 requests
    Completed 60000 requests
    Completed 70000 requests
    Completed 80000 requests
    Completed 90000 requests
    Completed 100000 requests
    Finished 100000 requests

    Server Software: Apache/2.4.35
    Server Hostname: localhost
    Server Port: 80

    Document Path: /index.html
    Document Length: 116 bytes

    Concurrency Level: 10
    Time taken for tests: 19.556 seconds
    Complete requests: 100000
    Failed requests: 0
    Total transferred: 39600000 bytes
    HTML transferred: 11600000 bytes
    Requests per second: 5113.63 [#/sec] (mean)
    Time per request: 1.956 [ms] (mean)
    Time per request: 0.196 [ms] (mean, across all concurrent requests)
    Transfer rate: 1977.53 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.2 0 3
    Processing: 0 2 0.8 2 26
    Waiting: 0 1 0.7 1 26
    Total: 0 2 0.8 2 26

    Percentage of the requests served within a certain time (ms)
    50% 2
    66% 2
    75% 2
    80% 2
    90% 3
    95% 3
    98% 4
    99% 5
    100% 26 (longest request)

  6. Druhý test bude spuštěn se stejnou sadou parametrů, ale proti plýtvání php stránkou index.php .
    $ ab -t 60 -n 100000 -c 10 http://localhost/index.php  
    This is ApacheBench, Version 2.3 <$Revision: 1826891
    
    
    
    
    

    gt;
    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 10000 requests
    Completed 20000 requests
    Completed 30000 requests
    Completed 40000 requests
    Completed 50000 requests
    Completed 60000 requests
    Completed 70000 requests
    Completed 80000 requests
    Completed 90000 requests
    Completed 100000 requests
    Finished 100000 requests

    Server Software: Apache/2.4.35
    Server Hostname: localhost
    Server Port: 80

    Document Path: /index2.php
    Document Length: 116 bytes

    Concurrency Level: 10
    Time taken for tests: 35.064 seconds
    Complete requests: 100000
    Failed requests: 0
    Total transferred: 30700000 bytes
    HTML transferred: 11600000 bytes
    Requests per second: 2851.89 [#/sec] (mean)
    Time per request: 3.506 [ms] (mean)
    Time per request: 0.351 [ms] (mean, across all concurrent requests)
    Transfer rate: 855.01 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.2 0 3
    Processing: 1 3 1.2 3 27
    Waiting: 0 3 1.2 3 27
    Total: 1 3 1.3 3 28

    Percentage of the requests served within a certain time (ms)
    50% 3
    66% 4
    75% 4
    80% 4
    90% 5
    95% 6
    98% 7
    99% 7
    100% 28 (longest request)
    It isn't a big surprise what the results show. The static content is served much faster than the wasteful page that also need to go trough the php interpreter. And with this we have shown in a simple example how the Apache Bench tool can be used to gather statistics on the response time of our webservices.


Linux
  1. Jak nainstalovat apache tomcat na Linux RHEL 8 / CentOS 8

  2. Jak nainstalovat Apache Maven CentOS 7 / RHEL 7

  3. Jak nainstalovat Apache na Ubuntu?

  1. Jak nainstalovat Apache na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat spark na RHEL 8

  3. Jak nainstalovat ActiveMQ na RHEL 8

  1. Jak nainstalovat cassandru na RHEL 8

  2. Jak nainstalovat skladatel na RHEL 8

  3. Jak nainstalovat gdb v RHEL 8