У нас есть проект, работающий в nginx / php-fpm, который в основном представляет собой сборку с несколькими сайтами для Symfony 2.7, и мы работаем над следующей версией сайта, которая в основном добавляет еще один сайт в проект с некоторыми дополнительные возможности. Перед тем, как начать работу, мы должны убедиться, что все работает нормально. Таким образом, сайт был размещен на subdomain.site.com только с внутренним доступом.
В основном есть 2 файловых сервера и 2 балансировщика нагрузки с nginx. Балансировщики нагрузки получают запрос и направляют его на веб-серверы (где установлен php-fpm) в зависимости от нагрузки.
Теперь проблема в том, что сайт работает очень медленно, но тот же веб-сайт, размещенный на тестовом сервере, работает намного быстрее, и его конфигурация с несколькими проектами меньше, чем на реальном сервере. Это то, что я вижу из журналов.
Веб-сервер (PHP-FPM):
x.x.x.x - [08/Jan/2019:14:40:33 +0000] GET /app_dev.php/a-sample-url/ 200 Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 took:14.856s
Балансировщик нагрузки:
x.x.x.x - [08/Jan/2019:14:40:48 +0000] "GET /app_dev.php/a-sample-url/ HTTP/1.1" 200 38386 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"
Здесь вы можете видеть, что для выполнения одного php-fpm требуется 14.856 с. Также я не уверен в том, как ведется запись в журнал на балансировщике нагрузки, который имеет более позднее время (не уверен, что это время, когда он вернулся ответ).
Живой веб-сайт также находится на том же сервере. Поэтому я сомневаюсь, что php-fpm имеет отдельную конфигурацию для поддоменов.
Настоящим я прикрепил копию моей конфигурации php-fpm (исключая значения по умолчанию из-за размера).
[www]
user = apache
group = apache
listen = 192.168.x.x:3456
listen.allowed_clients = 127.0.0.1,192.168.102.101,192.168.102.23
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
access.log = /var/log/php-fpm/$pool.access.log
access.format = "%{REMOTE_ADDR}e - [%t] %m %{REQUEST_URI}e %s %{HTTP_USER_AGENT}e took:%ds"
slowlog = /var/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = redis
php_value[session.save_path] = "tcp://192.168.x.x:1234/1"
Любая помощь по этому вопросу будет принята с благодарностью.