Как оптимизировать OpenCart 2.3 - PullRequest
0 голосов
/ 23 апреля 2020

Я слежу за сайтом OpenCard, который управляет примерно 3000 продуктами. Версия OpenCart 2.3. Сервер имеет 8 VCPU и 8 ГБ оперативной памяти. Объем используемой памяти составляет около 4,6 ГБ, а средняя загрузка - 0,71, 0,50, 0,48

. Первоначально существовало опасение, что сервер использует все 8 ГБ ОЗУ, и клиент постоянно получает сообщения об этом по электронной почте. Я добавил расширение для кэширования в OpenCart в попытке улучшить производительность. Хотя он и улучшил время загрузки страницы, он не уменьшил объем используемой памяти PHP -FPM.

Чтобы уменьшить потребление памяти, я внес некоторые изменения в PHP -FPM;

pm = dynamic
pm.max_children = 40
pm.start_services = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 10
pm.max_requests = 1000

php_admin_value[memory_limit] = 1024M

Однако даже с этими изменениями в журналах я вижу следующее:

[23-Apr-2020 07:06:42 UTC] PHP Fatal error:  Out of memory (allocated 624959488) (tried to allocate 134217736 bytes) in /var/www/public_html/vqmod/vqmod.php on line 341
[23-Apr-2020 07:06:43 UTC] PHP Fatal error:  Out of memory (allocated 336687104) (tried to allocate 134217736 bytes) in /var/www/public_html/vqmod/vqmod.php on line 336
[23-Apr-2020 08:25:47 UTC] PHP Fatal error:  Out of memory (allocated 404758528) (tried to allocate 134217736 bytes) in /var/www/public_html/vqmod/vqmod.php on line 341
[23-Apr-2020 08:25:50 UTC] PHP Fatal error:  Out of memory (allocated 336707584) (tried to allocate 134217736 bytes) in /var/www/public_html/vqmod/vqmod.php on line 336
[23-Apr-2020 08:25:50 UTC] PHP Fatal error:  Out of memory (allocated 336707584) (tried to allocate 134217736 bytes) in /var/www/public_html/vqmod/vqmod.php on line 336
[23-Apr-2020 08:25:50 UTC] PHP Fatal error:  Out of memory (allocated 336707584) (tried to allocate 134217736 bytes) in /var/www/public_html/vqmod/vqmod.php on line 336

В других журналах я также вижу сообщения об увеличении количества max_children, которые Я пошел вперед и сделал.

Когда я наблюдаю «top», я вижу, что php -fpm использует около 440 МБ на процесс. Первоначально, когда я начал смотреть на этот PHP -FPM, настроенный для запуска с 10 серверами, 10 x 450 МБ означало, что PHP мгновенно использовал 4,5 ГБ доступной памяти, а затем использовал больше по мере необходимости, чтобы создать больше сервера. Я уменьшил количество запускаемых серверов до 4, чтобы уменьшить количество запущенных процессов, что уменьшило общее потребление памяти.

Проблема в том, что я не уверен, какое решение есть;

  1. сервер просто не подходит для сайта, нужно ли запрашивать больше оперативной памяти и вносить изменения в конфигурацию PHP -FPM
  2. Является ли сам OpenCart или способ, которым этот сайт был настроен, вызывает проблему? 450 МБ на процесс «чувствует», как много памяти для использования. Я предполагаю, что OpenCart способен управлять 3000 продуктами, но я понятия не имею, насколько он оптимизирован?
  3. Можно ли оптимизировать конфигурацию PHP для улучшения ситуации?

Любой совет будет оценен.

...