Ошибка 500 при открытии страниц одновременно

Playray
На сайте с 06.09.2008
Offline
133
1114

Добрый день, есть сервер vestacp+nginx+php-fpm + 2 таких же сервера связанные через nginx balancer в равных пропорциях, если открывать сайт по одной странице, то все нормально, если попытаться открыть много страниц сразу, то на части появляется ошибка 500

При этом в логах чисто на всех серверах и если в момент открытия смотреть на нагрузку, то нет ничего необычного, повышения даже не видно...

Пробовал запускать нагрузочное тестирование http://loadme.socialtalents.com в 8 потоков на 20 страниц, больше половины ошибка 500, но нагрузка судя по htop не поднимается!, хотя если запустить на одну страницу, то держит без ошибок 80 потоков и нагрузку видно...

Подскажите, куда копать? Где найти это невидимое на первый взгляд узкое место?

Заранее спасибо!

Azazello_Biz
На сайте с 29.12.2011
Offline
82
#1

tail -f /var/log/php-fpm/www-error.log

Оптимизайка
На сайте с 11.03.2012
Offline
396
#2

tail /var/log/nginx/error.log

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
Оптимизайка
На сайте с 11.03.2012
Offline
396
#3

tail /var/log/nginx/error.log

prostohosting.com
На сайте с 26.06.2009
Offline
101
#4

tail -f /var/log/php-fpm.log в студию.

Очень похоже что в php-fpm.conf в process manager утыкается в потолок процессов при большем обращении nginx запросов на обработку php.

Добавьте pm.max_spare_servers и pm.max_children в php-fpm.conf перезапустите php-fpm

аренда сервера https://prostohosting.com/services/dedicated.html Core i3 / i7 от 49$, VPS серверы Xen / OpenVZ https://prostohosting.com/services/vps.html от $9/мес.
Aisamiery
На сайте с 12.04.2015
Offline
293
#5

А что если мимо лоадбалансера отрыть страницы? Может какой то из 3х не работает? Или может быть проблема в том что при обращении к первому серверу там что то локально создается и когда запрос попадает на второй то в попытке найти это созданное локально не находит и падает?

В целом надо логи искать, сделайте на каждом сервере заголовок с его идентификатором и смотрите с какого сервера приходят 500 ошибка и изучайте его логи.

Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
Himiko
На сайте с 28.08.2008
Offline
560
#6

Копать в логах. 500я ошибка всегда отразится в них.

А уж потом делать выводы. Не советую наугад менять значения и пытаться что-то исправить.

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий