Проблемы с производительностью на drupal

Я запускаю веб-сайт drupal 7 на сервере Linux (с 4 ядрами и 12 ГБ ОЗУ) с LEMP (nginx + php5-fpm + mysql). В установке drupal включено большое количество модулей (все из которых необходимы). Я также использую apc + boost + memcache + authcache для кеширования. Кажется, кеширование работает (я вижу, что страницы обслуживаются из кеша) и у сайта есть разумное время отклика. Я провел стресс-тесты с веб-сайтом, работающим по URL-адресу, например www-1.example.com. (www-1.example.com указывает на IP-адрес моего веб-сервера, скажем, xxxx) и результаты хорошие (до 100 одновременных пользователей) Проблема начинается, когда я меняю DNS, чтобы www.example.com также указывал на xxxx. Затем процессор моего веб-сервера (все 4 ядра) за короткое время достигает 100%. Я безуспешно экспериментировал со следующими параметрами в файле www.conf:

Конфигурация 1:

pm.max_children = 100
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 20
pm.max_requests = 200

результат: 100% использование ЦП, низкое использование памяти

Окончательная конфигурация:

pm.max_children = 300
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 20
pm.max_requests = 200

результат: низкий ЦП использование, 100% использование памяти

Может ли кто-нибудь помочь мне найти оптимальную конфигурацию или иметь представление о том, что может вызвать 100% использование процессора? Как рассчитать максимальное количество одновременных использований, которые могут выполняться без проблем, на основе параметров сервера?

0
задан 12 January 2017 в 13:30
1 ответ

Использование ЦП в классической виртуальной машине lemp иногда вызвано тем, что php ожидает, пока mysql разработает скрипт, вставки и запросы. Кроме того, типичная cms, такая как Magento, дочерний элемент php fpm может съесть до 300 МБ оперативной памяти, поэтому 100 дочерних элементов или 300 приведут к вялой и подкачиваемой виртуальной машине.

Вы должны сначала уменьшить (максимум 20/25 дочерних элементов php в моем мнение) потомки, тогда вызовы php mysql и запрос профиля тратят много времени на выполнение. 80% проблем там ...

0
ответ дан 5 December 2019 в 08:44

Теги

Похожие вопросы