Назад | Перейти на главную страницу

Как мы можем решить эти ошибки для Nginx + PHP + FastCGI?

Мы используем Nginx + PHP + FastCGI для нашего веб-сервера и только что увидели в журнале ошибок кучу ошибок тайм-аута (см. Ниже). Мы быстро перезапустили nginx, и это устранило проблему - пока. Однако мы пытаемся найти первопричину и устранить проблему, чтобы она никогда не повторялась снова.

В частности,

Вот ошибки (мы видели их сотни, опубликовали несколько):

Вы можете объяснить нам ошибку или указать в правильном направлении?

Проверьте документацию и / или исходный код компонента, вызывающего ошибку.

похоже, мы одновременно сталкиваемся с двумя ошибками: 18657 (сбой подключения) и 18656 (истекло время ожидания восходящего потока).

  • 18657 (сбой подключения): Похоже, эта ошибка вызвана используемой вами реализацией FASTCGI. Проверьте их документацию / исходный код на предмет значения.
  • 18656 (истекло время ожидания восходящего потока): Похоже, эта ошибка вызвана используемой вами реализацией FASTCGI. Проверьте их документацию / исходный код на предмет значения.

Когда они возникают?

В журналах вы найдете отметки времени, когда (по времени) они происходят. Чтобы понять, почему (в смысле?) Они возникают, проверьте документацию / исходный код. Если это слишком сложно для вас, свяжитесь со своим системным администратором, и пусть он проанализирует это за вас. Это может быть очень специфичным для конкретной версии сервера, которую вы используете, точной реализации FASTCGI, которую вы используете, и точной конфигурации PHP, которую вы используете.

есть ли способ увидеть сетевую статистику на сервере при возникновении ошибки? Мы хотели бы узнать, сколько php-процессов, входящих соединений и т. Д. Было у нас, когда возникла проблема.

Свяжитесь с вашим системным администратором. Она / она должны быть в состоянии обеспечить любой необходимый вам мониторинг. (Этот вариант может быть доступен только для будущего, а не для прошлого)

как воспроизвести проблему и исправить ее наверняка?

На этот вопрос нельзя дать конкретного ответа, если вы не нашли причину. Вы можете начать мониторинг и ждать, пока это произойдет, или вы можете попытаться спровоцировать это, накачав свой сервер тысячами запросов сразу.


Я настоятельно рекомендую вам начать мониторинг вашего сервера (ов). Это даст вам лучшее представление о том, с какими проблемами вы можете столкнуться. Обе описанные вами ошибки выглядят как сетевые проблемы. Это может быть так, что у сервера, с которым вы связываетесь (может быть локальный компьютер), истекло время ожидания (истекло время ожидания восходящего потока) или даже отказало соединение (соединение не удалось).

Затем вы можете попытаться не разрешить слишком много подключений вызывать это, чтобы переключить отказоустойчивость на пользователя напрямую (вместо того, чтобы слишком сильно нагружать вашу систему) и / или, если вы можете найти причину, настроить параметры сети, чтобы лучше справиться с требованиями вашего типичного использования веб-сайта. Однако вполне возможно, что сервер технически не в состоянии обрабатывать количество / тип запросов, с которыми вы сталкиваетесь (жесткое ограничение). Мониторинг поможет вам узнать.