Недопустимый шлюз Nginx 502

[1133397] с помощью [1133730]csh[1133731], [1133732]tcsh[1133733] или [1133734]zsh[1133735], [1133736]$PATH[1133737] привязывается к массиву [1133738]$path[1133739], и вы можете распечатать его элементы по одному на строку:


grep -P -o '(?<=\): ).+?(?=: 00[7-9]|0[1-9]|1)' | sort | uniq -c | sort -nr

Только с zsh:

(здесь предполагается, что компоненты [1133740]$PATH[1133741] не начинаются с [1133742]-[1133743] и не пустые, в противном случае используйте [1133744]print -rl -- "$path[@]"[1133745]).

В оболочках типа Борна, предполагая, что пути не содержат символов подстановки (если они есть, добавьте [1133746] set -f;[1133747] до [1133748]printf[1133749]):

Добавьте немного [1133750]|grep что-нибудь [1133751] для поиска определенных строк.

enter image description here

enter image description here

Если вы хотите искать в значении [1133752]$path[1133753], используя [1133754]zsh[1133755], вы можете сделать:

, а затем использовать [1133756]Ctrl+S[1133757], [1133758]Ctrl+R[1133759], как обычно, для поиска в обратном направлении (или [1133760]vi

? Эквивалент [1133763]/[1133764]/[1133765], если вы используете режим [1133766]vi[1133767]).[1133410].

2
28.03.2014, 08:03
1 ответ

У меня была та же проблема, но из-за роста аудитории на нашем сайте, сначала я сделал все предложения, которые могу найти здесь " Как исправить тайм-аут шлюза? " и других сайтах и ​​здесь, в SO , и все еще была та же проблема с ошибкой шлюза 502. Итак, я поймал проблему, что сервер, с которым я работал, имеет веб-сайт и приложение на одном сервере, поэтому я перенес apiend на другой сервер, который работал очень хорошо, пока мы не получили намного больше запросов, поскольку у наших клиентов все больше и больше событий и проблема тайм-аута шлюза 502 вернулись, apiend все еще отвечает, пока веб-сайт находится на 502.

Итак, я попытался проверить все журналы моего сервера, пока я не проверил свой php-fpm.log и не увидел следующие ошибки:

[26-Mar-2015 10:10:04] WARNING: [pool www] server reached pm.max_children setting (35), consider raising it
[26-Mar-2015 12:04:52] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers)

Как сказано в моем журнале php-fpm.log, мне нужно увеличить параметр max_children, на моем /etc/php5/fpm/pool.d/www.conf мой текущий параметр:

pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 4
pm.max_spare_servers = 8

Используя это команда: ps -ylC php5-fpm --sort: rss Я проверил среднее использование памяти в килобайтах на процесс php-fpm, затем вычислил pm.max_children.

Вычисление pm.max_children

Пример: если наш облачный сервер имеет 4 ГБ ОЗУ и работает служба базы данных MySQL, которая потребляет не менее 1 ГБ, наша лучшая цель - получить 4 - 1 - 0,5 ( marge) ГБ = 2,5 ГБ ОЗУ или 2560 МБ.

вечера.max_children приводит нас к 2560 Мб / 60 Мб = 42 max_children

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

Даже если это старые сообщения, я просто хотел рассказать, как я решил проблему. : D

Вот моя ссылка. Определение правильного количества дочерних процессов для PHP-FPM на NGinx

1
27.01.2020, 22:22

Теги

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