Почему веб-сервер глючит (Nginx + php5-fpm)?

Здравствуйте. До текущего момента стояла связка Nginx + Apache2. Апач стал есть очень много ресурсов со временем. Очень много раз читал про связку Nginx + PHP-FPM, и решил поставить её.
Что есть:
1) сайт с посещаемостью 80к в сутки
2) конфиг сервера: 32гб RAM, 8 ядер, SSD. Nginx 1.4.6, memcache, opcache включен

После долгой настройки fpm и nginx, имеются следующие конфиги:
Nginx:
конфиг сайта pastebin.com/u6BVkQzC
главный конфиг : pastebin.com/viyWGkjU
FPM:
главный www pastebin.com/Y7iEmndn
конфиг пользователя pastebin.com/QDkjxeNa

Когда поток пользователей перенаправляю на этот сервер, в top появляются процессы php5-fpm , и некоторые грузят почти все на 100%. Постепенно ответ от сервера из 60мс уходит до 2 секунд. Всё тормозит и глючит. В логах вот что:
*an upstream response is buffered to a temporary file /var/lib/nginx/fastcgi/9/00/0000000009 while reading upstream

load average больше 10
Подскажите, что не так сделано? Должно же быть как минимум лучше, чем в связке апача с nginx. Буду рад Вашей наводке.

UPD.
С буфером проблему решил, увеличил его, теперь load average <= 4. Это нормально для 730к просмотров страниц в день?
  • Вопрос задан
  • 941 просмотр
Пригласить эксперта
Ответы на вопрос 3
Sanes
@Sanes
Настройте для начала логирование медленных запросов.
Ответ написан
bigton
@bigton
Web-программист
У вас запросы к fpm через сокеты, может быть у вас низкий лимит на открытые файлы? ulimit в linux

я кстати задобался с сокетами и сделал через tcp, посещаемость выше вашей в несколько раз
Ответ написан
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
try_files
fastcgi_pass
include fastcgi_params; + fastcgi_param в одном location
ssi on;
error_log /dev/null crit;
access_log off
pm.max_children = 5

Эталонный сборок ошибок вида "как не надо делать" и "почему вам лучше использовать апач".
(справедливости ради, намек на правильную настройку самого fpm есть, но процессов мало и сокеты - жопа).

Ну а по сабжу - модель дисков в студию. Скорее всего, беда в них.
Ответ написан
Ваш ответ на вопрос

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

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