1. Optimalizace hardwaru a operačního systému

a) RAM

Ujistěte se, že máte dostatek prostoru RAM pro zvýšení výkonu webového serveru apache, zejména během ukládání do mezipaměti. Pokud RAM zaplní požadavky, budou přesměrovány do odkládacího prostoru, což zvyšuje latenci. To znamená, že uživatelé musí znovu načíst svůj požadavek, čímž se zatížení dále zvyšuje. Chcete-li tento problém vyřešit, tj. Omezit počet podřízených procesů vytvořených webovým serverem Apache, za které jsou přesměrovány na odkládací prostor, musíte nastavit MaxRequestWorkers. Chcete-li pro to získat nejlepší hodnotu, proveďte následující postup:


  1. Pomocí příkazu top zkontrolujte průměrnou velikost paměti RAM používané procesem apache
  2. Vydělte celkovou dostupnou velikost RAM průměrnou velikostí RAM, kterou apache používá k získání počtu MaxRequestWorkers

Chcete-li zvýšit výkon Apache, ujistěte se, že máte rychlejší procesor, rychlejší síťovou kartu a rychlejší disky.

b) Napište velikost vyrovnávací paměti

Zvětšete velikost vyrovnávací paměti pro zápis zvýšením hodnoty ve dvou souborech:

/ proc / sys / net / core / wmem_max
/ proc / sys / net / core / wmem_default

c) Maximální otevřené soubory

Pokud webový server apache zpracovává vysoké zatížení, doporučuje se zvýšit maximální počet povolených otevřených souborů zvýšením hodnoty v souboru:

/ proc / sys / fs / file-max

Poté spusťte příkaz:

$ ulimit -H -n 4096

2. Vyladění konfigurace za běhu

a) Zakažte .htaccess pomocí AllowOverride

Aktivace AllowOverride způsobí, že se apache pokusí otevřít .htaccess, kdykoli je zadán požadavek. Tím se skutečně sníží výkon webového serveru Apache. Chcete-li to vyřešit, použijte možnost AllowOverride None, jak je ukázáno níže:

DocumentRoot "/ www / var / html"

AllowOverride Žádné

b) Zakažte vyhledávání DNS pomocí HostnameLookups

Když je povoleno HostnameLookups, tj. Zapnuto, zvyšuje latenci pro každý požadavek, který má být dokončen po provedení vyhledávání DNS. Existují dvě řešení:

  1. Pro protokolování souborů s rozlišenými názvy proveďte následné zpracování protokolů na jiném počítači, abyste zabránili zpomalení výkonu v produkčním serveru..
  2. Pokud nepotřebujete rozlišení názvů, použijte IP adresy a deaktivujte vyhledávání DNS pomocí níže uvedené možnosti:

Název_hostitele Vypnuto

3. Optimalizujte konfiguraci kompilace

a) Moduly pro více zpracování (MPM)

MPM help apache se může vázat na síťové porty, používat podřízené procesy a vlákna střídavě k přijímání a zpracování požadavků. Existují 3 různé typy MPM a každý je vhodný pro různé požadavky.

pracovník: Využívá více podřízených procesů, z nichž každý má mnoho podprocesů, zatímco každý podproces zpracovává vždy jedno připojení. To je vhodné pro servery s vysokým provozem vzhledem k menší velikosti paměti než prefork.

událost: Podobně jako MPM pracovníka, pokud jde o navlékání vláken, ale umožňuje současné podávání více požadavků prostřednictvím předávání některých zpracování podpůrným vláknům. To pomáhá uvolnit paměť, která je přidělena jiným vláknům. Není vhodné pro použití s ​​moduly, které nejsou bezpečné pro vlákna, jako je mod_php.

prefork: Využívá více podřízených procesů, každý s jedním vláknem. Každý proces zpracovává vždy jedno připojení. Je to rychlejší než pracovník, ale využívá více paměti. Vhodný pro ladění aplikací pomocí modulů bezpečných pro vlákna, jako je mod_php.

Chcete-li zkontrolovat verzi MPM, spusťte příkaz

$ sudo httpd -V

Výstup:

[linuxuser @ centos7-apache ~] $ sudo httpd -V
[sudo] heslo pro linuxuser:
Verze serveru: Apache / 2.4.6 (CentOS)
Postavený server: 20. dubna 2018 18:10:38
Magické číslo modulu serveru: 20120211: 24
Načtený server: APR 1.4.8, APR-UTIL 1.5.2
Zkompilován pomocí: APR 1.4.8, APR-UTIL 1.5.2
Architektura: 64bitová
Server MPM: prefork
závitem: ne
vidlice: ano (variabilní počet procesů)
Server kompilován s….
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (povolené adresy mapované IPv4)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT = 256
-D HTTPD_ROOT ="/ etc / httpd"
-D SUEXEC_BIN ="/ usr / sbin / suexec"
-D DEFAULT_PIDLOG ="/run/httpd/httpd.pid"
-D DEFAULT_SCOREBOARD ="logs / apache_runtime_status"
-D DEFAULT_ERRORLOG ="logs / error_log"
-D AP_TYPES_CONFIG_FILE ="conf / mime.types"
-D SERVER_CONFIG_FILE ="conf / httpd.conf"

Aktuální MPM je předzvěst, pokud jej chcete změnit, upravte takto:

Pro Centa 7

$ sudo vim /etc/httpd/conf.modules.d/00-mpm.conf

Pro Ubuntu 16.04

$ sudo vim /etc/apache2/mods-available/.load

Kde je mpm_prefork, mpm_event nebo mpm_worker

b) Odstraňte nepotřebné moduly

Některé z modulů, které nemusíte ve svém webovém serveru potřebovat, zahrnují, aniž by byl výčet omezující, mod_mime, mod_dir, mod_php, mod_perl, mod_ruby, e.t.c. To pomůže ušetřit paměť RAM používanou webovým serverem.

v Centa 7, zakázat nebo uvolnit modul, komentář ven< řádek, který začíná LoadModule v hlavním konfiguračním souboru nebo souborech uvnitř /etc/httpd/conf.modules.d/

v Ubuntu 16.04, chcete-li modul deaktivovat nebo uvolnit, spusťte příkaz:

$ sudo a2dismod module_name

Povolení modulu

$ sudo a2enmod název_modulu

Poté restartujte službu apache.

Podívejte se na 3 nejlepší webhostingové služby

FastComet

Vyvolávací cena:
2,95 $


Spolehlivost
9.7


Ceny
9.5


Uživatelsky přívětivý
9.7


Podpěra, podpora
9.7


Funkce
9.6

Přečtěte si recenze

Navštivte FastComet

A2 Hosting

Vyvolávací cena:
3,92 $


Spolehlivost
9.3


Ceny
9,0


Uživatelsky přívětivý
9.3


Podpěra, podpora
9.3


Funkce
9.3

Přečtěte si recenze

Navštivte A2 Hosting

ChemiCloud

Vyvolávací cena:
2,76 $


Spolehlivost
10


Ceny
9.9


Uživatelsky přívětivý
9.9


Podpěra, podpora
10


Funkce
9.9

Přečtěte si recenze

Navštivte ChemiCloud

Související články s postupy

  • Jak nainstalovat Apache a PHP-FPM na Debian 8
    expert
  • Jak přidat moduly na server Apache na CentOS
    středně pokročilí
  • Jak nakonfigurovat Nginx a Apache společně na stejném Ubuntu VPS nebo dedikovaném serveru
    středně pokročilí
  • Jak nastavit server Apache 2 pomocí metody Zahrnout ke správě mezipaměti prohlížeče
    středně pokročilí
  • Jak zatvrdit webový server Apache na CentOS 7 VPS nebo dedikovaném serveru
    expert
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me