Drupal and 504 Gateway Timeout (time out) nginx

02.02.2011
Share on FacebookShare on TwitterShare on GooglePlusShare on Linkedin
Автор:

На серверах с nginx в качестве фронтенда и Apache в качестве бэкенда часто можно увидеть такую ошибку. Обычно это воспринимается как проблема в nginx и веб разработчики начинают его усердно пилить. Тем не менее, довольно часто это не совсем так.

Надо понимать, что 504 Gateway Timeout возникает, когда nginx передал клиентский запрос Apache, а Apache не смог вернуть HTTP-ответ в установленный лимит времени.

Так вот, как раз суть проблемы в том, что Apache не смог ответить. Возможно, на сайте возросла нагрузка, и при этом Apache не успевает отдавать HTTP-ответы, а новые запросы встают в очередь. Клиенты «висят» в очереди и если в установленное время их так и не успевают обслужить, соединения сбрасываются.

Чтобы решить данную проблему, надо первым делом попробовать добавить ресурсов серверу (например оперативной памяти) и увеличить количество http процессов в Apache.

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

Конечно же, надо еще проанализировать и хостинг. Если имеем дело с обычным виртуальным хостингом, то вероятность решения проблемы без тюнинга друпала маловероятна, поскольку доступа к настройкам самого хостинга, как правило, нету, что дали - то есть. Возможно, придется хостинг поменять.

Также, можно попробовать увеличить лимит времени, отведенный для выполнения скриптов - значение параметра PHP max_execution_time.

1 vote, Rating: 5
Share on FacebookShare on TwitterShare on GooglePlusShare on Linkedin

Также по теме

2

При разработке одного сайта по недвижимости мы по запросу клиента импортировали в таксономию базу данных всех городов мира. И оказалось, что Hierarchical Select не...

3

Очень полезный модулечек, который позволят вставлять FileField поля прямо в текстовый редактор. Например, в процессе написания данного текста была нажата кнопочка Insert, и появилась вот такая...

4

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

5

Основатели и разработчики MySQL ушли из родной компании, которая принадлежит Oracle ( когда то Sun поглотила MySQL AB, а потом Oracle поглотила Sun). 

Need a quote? Let's discuss the project

Are you looking for someone to help you with your Drupal Web Development needs? Let’s get in touch and discuss the requirements of your project. We would love to hear from you.

Join the people who have already subscribed!

Want to be aware of important and interesting things happening? We will inform you about new blog posts on Drupal development, design, QA testing and more, as well news about Drupal events.

No charge. Unsubscribe anytime