Если я мог downvote ответ от @Artsiom навсегда, я был бы.
pm.max_children = 4000
средства до 4K рабочих процессов. Если потоки трафика в очень быстром и вместе с pm.max_requests = 0
, рабочие никогда не будут перерабатываться, то Использование оперативной памяти будет расти неограниченно долго со временем, и сервер будет в из условия памяти (вниз, заморожен) рано или поздно.
PHP-FPM max_children должен быть повышен тщательно и постепенно при контроле использования подкачки.
можно использовать облизывание формулы следующее:
pm.max_children = ((total RAM in MB) - (how much MySQL and others take in RAM)) / 80
, Где 80 МБ средний вес процесса рабочих PHP-FPM, если Ваша платформа PHP легка. Для тяжелых вещей как Magento 2 возьмите по крайней мере 128 МБ вместо этого.
И эти pm.max_requests
должно быть некоторое "ограниченное" значение. В более высоких серверах спецификации можно действительно повысить его (10000, например), в то время как на низкокачественных серверах это должно быть установлено на самый маленький (например, 500, на даже 100) уменьшить колебания "использования" RAM. Но он никакой сценарий, я установил бы его на 0 (неограниченный), потому что значение 0 подразумевает, что Ваш код / PHP и все его расширения является абсолютно бесплатным из памяти, протекает. Только затем было бы хорошо быть установленным на 0!!!
Не ограничивать запросы Дайте им работу бесплатно)
pm = ondemand pm.max_children = 4000 pm.start_servers = 10 pm.min_spare_servers = 10 pm.max_requests = 0
Это происходит из-за того, что операционная система отклоняет попытки nginx подключиться к сокету unix.
Причина в том, что превышено максимальное количество сокет-соединений или максимальное количество необработанных сокет-соединений.
Проверка лимитов:
sysctl net.core
Нас интересуют строки:
net.core.somaxconn = 128
net.core.netdev_max_backlog = 200
Из-за них возникает ошибка, так как максимальное количество подключений 128 и максимальное количество необработанных 200
Изменить лимиты , прописать строчки в файле /etc/sysctl.conf
nano /etc/sysctl.conf
добавить
net.core.somaxconn = 20000
net.core.netdev_max_backlog = 65535
Применить параметры
sysctl -p
Перезапустить php-fpm
service php-fpm restart
Источник: https://galaxydata.ru/community/sock-failed -11-ресурс-временно-недоступен-459