@lolka02

Почему медленно работает сайт?

Есть сайт с посещаемость 1700 посетителей в день, в среднем онлайн 18, движок yii на сервере связка nginx+php-fpm. Очень медленно открывается, думал из за запросов переписал все равно скорость особо не увеличилась, попробовал скопировать файлы сайта и запустить от имени другого ssh пользователя, другой pool fpm (или как называется в конфигах указываю другой порт, ) меняю порт fastcgi_pass 127.0.0.1:9001 на fastcgi_pass 127.0.0.1:9002 и параллельно запускаю с другим доменом, все быстро работает. Где что настроить чтобы не было большой нагрузки?
вот пул по сайту
[site.ru]
listen = 127.0.0.1:9001
user = site
group = site
listen.owner = site
listen.mode = 770
chdir = /home/site/data/
pm = ondemand
pm.max_children = 4
  • Вопрос задан
  • 928 просмотров
Пригласить эксперта
Ответы на вопрос 2
Включите в yii2 дебаг панель, и посмотри что медленно обрабатывается.
Ответ написан
listen = 127.0.0.1:9001


1. Используйте unix socket, это увеличит скорость работы связки nginx + php-fpm

Пример пула php-fpm:

[site.ru]
listen = /var/lib/php5-fpm/siteru.sock
listen.owner = site
listen.group = site
listen.mode = 0660
...


Пример настройки nginx:
location ~ \.php$ {
  ...
  fastcgi_pass unix:/var/lib/php5-fpm/siteru.sock;
  ...
}


pm = ondemand


2. Используйте модель dynamic, при ondemand скорее всего вы упираетесь в pm.max_children

Пример для dynamic:

pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5
pm.max_requests = 500


3. Включите лог медленных запросов на mysql, включите дебаг в yii2, включите отладочные логи на php-fpm

Пример включения отладочных логов для php-fpm:
; Перенаправлять вывод процесса в лог
catch_workers_output = yes
; Если скрипт выполняется больше указанного времени, писать отладочную информацию в slowlog
request_slowlog_timeout = 3
; Лог-файл для медленных запросов
slowlog = /var/log/fpm-php/siteru.slow.log
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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