Мы находимся на экземпляре AWS 16 ГБ, и я нахожу его очень медленным. Когда я бежалApache, используя всю память 16 ГБ, как ограничить его процессы и использование памяти?
ps -aux | grep apache
Я могу видеть около 60+ процессов apache.
Когда я побежал
watch -n 1 "echo -n 'Apache Processes: ' && ps -C apache2 --no-headers | wc -l && free -m"
Это показывает почти вся память используется апача.
Когда я побежал
curl -L http://apache2buddy.pl/ | perl
, чтобы увидеть, как оптимизировать Apache, он предложил мне увеличить число MaxRequestWorkers, так что я сделал это 550. Я также изменил MaxConnectionsPerChild от 0 (без ограничений) в 10000.
Вот мой файл /etc/apache2/mods-enabled/mpm_prefork.conf
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 550
MaxConnectionsPerChild 10000
</IfModule>
Можете ли вы рассказать мне, как мы можем оптимизировать использование памяти apache, чтобы он не повредил весь сайт?
Для "apache2 -l", я вижу только эти модули - скомпилированных модулей: core.c mod_so.c mod_watchdog.c http_core.c mod_log_config.c mod_logio.c mod_version. c mod_unixd.c Я не вижу в предпродаже, как его включить? Я удивлен, потому что он не показывает ни один из предков и рабочий мод? – iCyborg
Для меня я тоже этого не видел, но я видел, как он загружался с помощью 'sudo apache2 -M'. Если вы не можете его загрузить, вы можете сделать это автоматически, используя 'sudo a2enmod mpm_prefork', или вы можете сделать это вручную, что может быть длительным процессом, сначала найдя файл **. Conf **, а затем раскомментируйте строку, которая загружает модуль предпродак. Удачи! – Mohamed