- 12, May 2024
- #1
Привет!
Недавно я установил новый сервер и перенес на него довольно загруженный форум (4,5 миллиона сообщений, обычно 500-1000 пользователей онлайн за каждые 30 минут). Я использую Invision 4.4.4, который требует достаточно ресурсов.
База данных (MySQL 5.7) работает на одном выделенном сервере, Apache работает на другом выделенном сервере.
На веб-сервере не работают другие сайты, а сервер базы данных поддерживает только этот сайт. Оптимизируя сервер, я попробовал переключиться с PHP-CGI на PHP-FPM.
Если первоначально сделать это, Apache довольно быстро выйдет из строя, по-видимому, из-за исчерпания MaxRequestWorkers.
Я увеличил MaxClients до 2500 и MaxRequestWorkers до 2000. Я также немного увеличил параметры пула PHP-FPM (максимальное количество запросов до 200, время простоя процесса до 10 и максимальное количество детей до 10).
Казалось, это решило проблему, но примерно через 12 часов Apache снова перестал отвечать на запросы, и я не увидел никаких активных процессов PHP-FPM.
Перезапуск Apache, похоже, не помог, и только когда я снова переключился на PHP-CGI, сервер снова начал отвечать на запросы.
Переход с PHP-CGI на PHP-FPM — это хорошо, поскольку он снизил нагрузку с 3,0 до примерно 1,0, поэтому я хотел бы использовать PHP-FPM, если смогу.
Я попробовал это во второй раз (переключившись обратно на PHP-FPM), но примерно через 12 часов он снова вышел из строя, и мне пришлось снова переключиться на PHP-CGI.
Я мог бы попытаться увеличить MaxClients и MaxRequestWorkers дальше, но я не знаю, поможет ли это — похоже, я просто накладываю временный пластырь на более глубокую проблему.
Я просматривал журналы, когда Apache в последний раз выходил из строя (или, по крайней мере, зависал), и видел массу сообщений вроде этого:
Машина имеет 32 ГБ оперативной памяти, а сайт работает на быстром SSD-накопителе NVMe.
Его основная задача — просто запустить веб-сервер для этого сайта, а также электронную почту.
Заранее благодарим за любую информацию и/или советы по отладке.
База данных (MySQL 5.7) работает на одном выделенном сервере, Apache работает на другом выделенном сервере.
На веб-сервере не работают другие сайты, а сервер базы данных поддерживает только этот сайт. Оптимизируя сервер, я попробовал переключиться с PHP-CGI на PHP-FPM.
Если первоначально сделать это, Apache довольно быстро выйдет из строя, по-видимому, из-за исчерпания MaxRequestWorkers.
Я увеличил MaxClients до 2500 и MaxRequestWorkers до 2000. Я также немного увеличил параметры пула PHP-FPM (максимальное количество запросов до 200, время простоя процесса до 10 и максимальное количество детей до 10).
Казалось, это решило проблему, но примерно через 12 часов Apache снова перестал отвечать на запросы, и я не увидел никаких активных процессов PHP-FPM.
Перезапуск Apache, похоже, не помог, и только когда я снова переключился на PHP-CGI, сервер снова начал отвечать на запросы.
Переход с PHP-CGI на PHP-FPM — это хорошо, поскольку он снизил нагрузку с 3,0 до примерно 1,0, поэтому я хотел бы использовать PHP-FPM, если смогу.
Я попробовал это во второй раз (переключившись обратно на PHP-FPM), но примерно через 12 часов он снова вышел из строя, и мне пришлось снова переключиться на PHP-CGI.
Я мог бы попытаться увеличить MaxClients и MaxRequestWorkers дальше, но я не знаю, поможет ли это — похоже, я просто накладываю временный пластырь на более глубокую проблему.
Я просматривал журналы, когда Apache в последний раз выходил из строя (или, по крайней мере, зависал), и видел массу сообщений вроде этого:
[Wed Jul 03 22:20:16.028372 2019] [proxy_fcgi:error] [pid 12645] (104)Connection reset by peer: [client 110.249.201.217:10762] AH01075: Error dispat
ching request to :
[Wed Jul 03 22:20:16.028452 2019] [proxy_fcgi:error] [pid 12652] [client 111.225.148.7:11198] AH01067: Failed to read FastCGI header
[Wed Jul 03 22:20:16.028491 2019] [proxy_fcgi:error] [pid 12652] (104)Connection reset by peer: [client 111.225.148.7:11198] AH01075: Error dispatch
ing request to :
[Wed Jul 03 22:20:16.028512 2019] [proxy_fcgi:error] [pid 12651] [client 125.209.235.178:37891] AH01067: Failed to read FastCGI header
[Wed Jul 03 22:20:16.028586 2019] [proxy_fcgi:error] [pid 12651] (104)Connection reset by peer: [client 125.209.235.178:37891] AH01075: Error dispat
ching request to :
[Wed Jul 03 22:20:16.028620 2019] [proxy_fcgi:error] [pid 12150] [client 110.249.202.82:63448] AH01067: Failed to read FastCGI header
[Wed Jul 03 22:20:16.028642 2019] [proxy_fcgi:error] [pid 12527] [client 54.36.148.120:38628] AH01067: Failed to read FastCGI header
Код (разметка): запуск PHP 7.2.19 и Apache 2.4.39. CENTOS 7.6 и WHM v80.0.20. Также на этом сервере запущен Redis для кэширования.
Машина имеет 32 ГБ оперативной памяти, а сайт работает на быстром SSD-накопителе NVMe.
Его основная задача — просто запустить веб-сервер для этого сайта, а также электронную почту.
Заранее благодарим за любую информацию и/или советы по отладке.