Ошибка 503 сервис недоступен. Медленная работа или зависание скриптов. Задания выполняющиеся долгое время

При серфинге в интернете некоторые пользователи часто сталкиваются с тем, что отдельные ресурсы работают некорректно, страницы грузятся слишком долго или вовсе не открываются. Разумеется, для потенциальных посетителей сайта это не представляет большой проблемы, но что делать веб-мастеру, если при заходе на его «детище» появляется ошибка 503 Service Temporarily Unavailable? Чтобы разобраться со сложившейся проблемой, не стоит сразу прибегать к кардинальным методам. Возможно, все можно решить и более простыми манипуляциями.

Как расшифровать

503 Service Temporarily Unavailable (перевод: "сервис временно недоступен") означает, что сервер, на котором располагается сайт, прекратил обрабатывать и получать запросы. Причин возникновения подобной надписи может быть огромное количество. Возможно, сервер просто не справляется с большим наплывом посетителей, а может быть, проблема куда более серьезная.

Если при заходе на сайт, всплывает ошибка 503 Service Temporarily Unavailable nginx, то последняя часть этого сообщения означает, что проблема с наибольшей вероятностью кроется в самом сервере.

Причины появления

Когда человек заходит на интернет-ресурс, он как будто совершает вызов, как по телефону. Если линия занята, то он не сможет посмотреть интересующую его страницу. То же самое происходит и при слишком долгом «звонке». В этой ситуации сервер принимает решение разорвать соединение, чтобы не тратить ресурсы, и выдает ошибку 503 Service Temporarily Unavailable. Что это значит, теперь понять несложно, но вот что с этим делать?

Слишком много обращений к серверу

Эта наиболее частая ошибка может иметь сразу несколько причин:

1. На страницах ресурса расположено несколько файлов php, java и куча других скриптов, отвечающих за стили и т. д. Из-за этого после обращения к сайту запрос отправляется во всех направлениях, что приводит к ошибке 503 Service Temporarily Unavailable. Как исправить такую ситуацию? Все очень просто. Достаточно произвести оптимизацию всего сайта, избавиться от ненужных скриптов и по возможность сжать файлы, отвечающие за стили.

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

3. Если на сайте используется ajax, то это также приведет к огромному количеству запросов и ошибке 503 Service Temporarily Unavailable. Чаще всего такая проблема встречается на ресурсах с чатами, играми, виртуальными конференциями и т. д. Исправить такую ситуацию можно только путем смены хостинга, так как необходимо повысить производительность системы.

4. «Подгрузка» с других сайтов. Если на ресурсе используются изображения, видеофайлы и другие материалы сторонних порталов, то нагрузка на сервер значительно повышается. В этом случае достаточно только избавиться от «чужих» скриптов.

5. Атака хакеров. Любые ddos-атаки неизбежно приводят к ошибке 503 Service Temporarily Unavailable. Если сайт не сильно поврежден, то его нужно восстановить и позаботиться о более надежной защите портала. Для этого рекомендуется установить на домен SSL сертификацию и перейти на https. На популярных сегодня CMS есть огромное количество плагинов и расширений, которые помогают избавиться от нежелательных комментариев на сайте, спам-атак, рассылок и посягательств со стороны недоброжелателей.

Падение скорости обработки скриптов на сервере

Помимо описанных выше причин, код ошибки 503 Service Temporarily Unavailable может стать следствием медленно загружающихся скриптов. В этом случае события могут развиваться по нескольким сюжетам:

  1. На ресурсе установлено слишком много «увесистых» скриптов, которые сайт элементарно не выдерживает. Поэтому от всего лишнего и неиспользуемого необходимо избавиться.
  2. Если сайт работает через PHP, то через него могут проходить слишком большие файлы статичного типа. Необходимо запомнить, что такая передача - это огромная ошибка. Необходимо позаботиться, чтобы файлы передавались только напрямую.
  3. База данных на сервере не оптимизирована. В этом случае необходимо самостоятельно ее обновить или обратить к хостинг-провайдеру.
  4. На сервере установлена почтовая рассылка. В этом случае также можно либо сменить тариф, выбрав более производительный, либо обратиться за услугами к другому хостингу.

CMS

Современные «движки» для сайтов позволяют создавать собственные порталы без особых навыков программирования. Чаще всего веб-мастера добиваются расширенного функционала при помощи всевозможных плагинов и расширений. Безусловно, они упрощают жизнь и делают станицы более привлекательными для потенциальных посетителей. Однако далеко не все расширения лицензированы и подходят для всех CMS. Установив всего один «битый» файл, можно вызвать ошибку 503 Service Temporarily Unavailable. Что это значит и критично ли это?

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

Если ничего не помогло

Если после всех манипуляций проблема осталась, то тогда остается только одно - перейти на новый хостинг. Это не означает, что вся работа канет в Лету. Сегодня можно без проблем переключаться на другой хостинг и переводить на него уже действующий сайт. Но перед этим нужно уточнить у консультантов, производят ли они такие манипуляции с существующими порталами.

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

Здравствуйте, уважаемые друзья и гости блога Блог Валерия Бородина — сайт! Сегодня у нас с вами очень важная тема, а именно Ошибка 503.

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

Ошибка 503 что это?

Ошибка 503 Service Temporarily Unavailable или, если перевести на русский язык, то это будет звучать вот так - сервис временно недоступен . Вот что значит эта злополучная ошибка и наверное Вы уже с ней не раз сталкивались, как на своих ресурсах, так и на сторонних?!

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

Обрабатываемые сервером запросы именуемые процессами, поступают к нему в определенном порядке. Сначали простенькие, а затем сложнее и сложнее, а когда он получает сразу очень для него сложный запрос, то попросту говоря он виснет. Вот так наверное будет проще понять!

Ошибка 503 — данная ошибка генерируется сервером при посещении веб-страниц сайтов, но каковы причины возникновения и какие существуют возможные способы ее устранения? Давайте же разберемся прямо сейчас с этими вопросами!

Причины возникновения ошибки 503 и возможные способы устранения!

Для исправления 503 ошибки нужно знать от чего она возникла. Вот давайте сейчас и разберемся с этим. Я вам приведу несколько примеров возникновения 503 ошибки и возможные способы по ее устранению.

Вообще существует две причины по которым возникает эта ошибка:

  • Первая причина возникновения ошибки 503 : Большое количество запросов к серверу
  • Вторая причина возникновения ошибки 503 : Снижение скорости работы скриптов на сервере и их зависание

Теперь в порядке очереди будем разбираться с этими двумя причинами и я приведу вам несколько способов устранения ошибки 503.

Большое количество обращений к серверу

Очень большое количество обращений к серверу возникает по нескольким причинам. Я буду приводить эту причину и сразу пример ее устранения.

  • Причина первая : На страницах сайта может размещаться несколько скриптов как java, так и php и еще в придачу файлы стилей и т.д. Поэтому при загрузке каждой страницы возникает отдельный запрос к каждому из скриптов и файлов расположенных на одной и той же странице. Следствие этого — 503 ошибка!
  • Способ решения : Нужно как можно быстрее оптимизировать ваш сайт и его страницы. То есть удалить не нужные скрипты и сжать файлы стилей, а также включить кэш. Это поможет значительно снизить нагрузку на ваш сервер.
  • Причина вторая : Очень большое количество обращений поисковых ботов к серверу вашего сайта, что также вызывает ошибку 503. На счетчиках посещений вашего сайта Вы можете и не увидеть данной статистики, посещения ботами с поисковых машин вашего сайта, а только в лог файлах вашего сервера.
  • Способ решения : Ограничить или вообще исключить ботов из списка посещений сайта. Это можно сделать в вашем файле robots.txt. Смотрите как сделать для сайта я об этом уже писал.
  • Причина третья : Если ваш сайт использует ajax, то при посещении его пользователем он может вызвать также очень большое количество запросов к серверу. Особенно это бывает на сайтах, где чаты, игры, онлайн конференции и т.п.
  • Способ решения : Здесь выход только один — сменить тариф своего хостинга на более производительный, а если у Вас на хостинге это очень дорогая услуга, то воспользуйтесь хостингом, где вам будет это сделать не проблематично и выгодно по деньгам — смотрите здесь я уже писал про очень выгодный, мощный и .
  • Причина четвертая : Если на вашем сайте используется подгрузка с чужих сайтов изображений, скриптов и разного рода файлов. Это естественно вызывает огромную нагрузку на сервер, следствие — ошибка 503.
  • Способ решения : Нужно избавиться по возможности загрузки со сторонних сайтов скриптов, файлов и картинок. Например, если скрипт jquery у Вас грузится со стороннего сайта, а он в это время будет не доступен из-за перегрузки, то понятно, что вылезет ошибка 503. Для этого нужно чтобы этот скрипт загружался именно с вашего сайта из отдельного файла со скриптами или хотя бы из файла footer.php, но ни как из файла header.php. Иначе скорость загрузки вашего сайта значительно снизится.
  • Причина пятая : Хакерская атака на ваш сайт или по другому, ddos-атака на сайт. Это естественно вызовет 503 ошибку.
  • Способ решения : Здесь вам нужно конечно изначально как можно лучше защитить свой сайт. Проконсультируйтесь по этому поводу со своим хостинг-провайдером, напишите им в поддержку. Установите на свой домен SSL сертификат. О том, как сделать это выгодно и быстро самостоятельно я уже писал в своей недавней статье . Ка Вы смогли уже наверное увидеть я и сам перешел на защиту своего домена и он теперь доступен по https.

Теперь давайте перейдем ко второй причине возникновения ошибки 503 и также разберем причины возникновения и способы решения проблемы...

Снижение скорости работы скриптов на сервере и их зависание

Также ошибку 503 service temporarily unavailable или что означает - сервис временно недоступен, можно и получить из-за очень медленно загружающихся скриптов на вашем сайте. Может у Вас уже были такие проблемы? Если нет, то слава богу! Но всеже стоит об этом поговорить...

  • Причина первая : Много плагинов и скриптов, которые довольно тяжелы для вашего движка сайта.
  • Способ решения : Удалите или отключите не нужные и не используемые плагины и скрипты на вашем сайте. Найдите для них более лучшую альтернативу. Например замените тяжелый плагин скриптом, который не так будет грузить вашу CMS.
  • Причина вторая : Медленное соединение с удаленным сервером.
  • Способ решения : Убедитесь, что на вашем сайте не используются в скриптах include-функции. Если Вы обнаружили такое, то обязательно используйте только локальный путь для обращения к ним, а ни как не https:// или http://. Потому, что это будет создавать только лишний рабочий процесс, который естественно будет грузить излишне ваш сервер и вызывать ошибку 503.
  • Причина третья : На сайте через PHP могут передаваться довольно большие статичные файлы.
  • Способ решения : Ни в коем случае не делайте таких вещей, а если это у Вас на сайте присутствует, то обязательно исправьте данную оплошность. Передавайте все файла только на прямую, а не через скрипты php, так как это создает дополнительные рабочие процессы на сервере, где расположен ваш сайт и это создает ошибку 503.
  • Причина четвертая : Это не оптимизированная база данных на сервере, большой ее объем и огромное количество слишком медленных запросов к MySQL из за этого.
  • Способ решения : Оптимизация базы данных на вашем сайте и установка кэширования на движке сайта, что очень помогает в данном случае.
  • Причина пятая : Почтовая рассылка на вашем сервере.
  • Способ решения : Если вам это принципиально важно, тогда смените хостинг-провайдера или смените тариф на более производительный. А если не принципиально, тогда пользуйтесь почтовыми рассылками сторонних сервисов, которые предлагают данные услуги. Вот например я пользуюсь SendPulse и очень доволен данным сервисом почтовых рассылок, который предлагает свои услуги бесплатно!

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

Но если у Вас и после всех данных решений все же возникает данная ошибка 503, тогда выход только один единственный — сменить вашего хостинг-провайдера и перенести свой сайт на более качественный и функциональный хостинг! Я например пользуюсь МакХост и очень доволен его работой и поддержкой!

Удачи всем! До новых встреч!!!

Во время серфинга по интернету каждый из нас сталкивался с появлением сообщения «ошибка 503 - service unavailable» при обращении к сайту, которые еще совсем недавно исправно работал. Данный код значит, что http-ресурс, на который Вы хотите зайти, является временно недоступным.

О чем свидетельствует «ошибка 503»

Каждая учетная запись, находящаяся на хостинге, располагает определенным количеством рабочих процессов, которое строго регламентируется особенностями тарифного плана. Обработка запросов от других компьютеров сети осуществляется в порядке очереди поступления. При этом легкие запросы могут обрабатываться практически моментально, а для работы с более тяжелыми требуется некоторое время.
Такая очередь ограничивается определенным числом запросов, и в случае превышения лимита запрос отклоняется, а браузер пользователя при этом показывает сообщение «error 503».

Что делать пользователю, когда в браузере появляется код ошибки 503

Чаще всего причиной такого поведения сервера и появления ошибки с кодом 503 являются временные проблемы, и через некоторое время сервер освободит необходимый объем ресурсов и сможет обработать запрос. Именно поэтому рекомендуется не заходить на сайт в течение трех минут, чтобы не создавать еще одну очередь, состоящую из обращений к хостинговому компьютеру, которая может только усугубить сложившуюся ситуацию.

Причины возникновения ошибки «error 503 - service unavailable»

Код 503 свидетельствует об образовании большой очереди запросов на сервере, с которой он не успевает справляться. Основными причинами образования очереди могут быть:

  1. Зависание скриптов.
  2. Большое число обращений к серверу.
Каждая из этих причин требует повышенного внимания со стороны веб-мастеров и администраторов http-ресурса и проведения оптимизации функционирования сайта.

Причины зависания скриптов и методы борьбы с данной проблемой

Зависание скриптов и дальнейшее появление ошибки «error 503 - service unavailable» может быть вызвано следующими факторами:

  1. Передача файлов большого размера при помощи PHP. Файлы большого размера рекомендуется передавать напрямую, без использования скриптов по двум основным причинам:
    • скрипты имеют ограниченное время работы, и после его истечения передача будет прерываться;
    • передача файлов при помощи PHP занимает отдельный процесс, который перестает обрабатывать запросы пользователей.
  2. Передачу файлов рекомендуется организовывать напрямую с использованием специального многопоточного процесса, обрабатывающего большое количество потоков единовременно и не влияющего на скорость загрузки http-ресурса.
  3. Соединения с удаленными серверами. Такого типа соединений строго рекомендуется избегать, но если без них невозможно реализовать работу сайта, то следует выставлять малое время ожидания ответа и настроить хорошую связь с удаленным сервером.
  4. Большое количество «тяжелых» или неработоспособных модулей CMS. Абсолютно все плагины используемой CMS необходимо проверить на работоспособность и ресурсоемкость. Модули, замедляющие работу сайта, рекомендуется заменить более шустрыми аналогами, кроме того, лучше деинсталлировать все неиспользуемые компоненты движка.
  5. Неграмотное использование почтовой рассылки. Скрипт почтовой рассылки рекомендуется запускать только при минимальной нагрузке на сервер (например, ночью), учитывая ограничения числа сообщений в сутки и особенности работы скрипта.
  6. Медленные запросы к базе MySQL. В случае наличия медленных запросов в аккаунте появляется файл с названием mysql-slow.log. Данные этого файла обновляются один раз в день и содержат исключительно проблемные запросы к базе. Для того, чтобы минимизировать число медленных запросов и, следовательно, уменьшить частоту появления ошибки с кодом 503, рекомендуется:
    • установить на движок сайта кеширующие компоненты, сокращающие количество запросов к базе данных;
    • оптимизировать сами запросы;
    • проиндексировать таблицы базы данных по столбикам, используемым в выборках;
    • поменять CMS сайта.

Причины большого числа запросов к http-ресурсу

К большому количеству запросов и, как следствие к появлению ошибки с кодом 503 «service unavailable», могут приводить:

  • содержание на сайте http-ссылок на очень большое количество файлов, подгружаемых посредством отдельных запросов (в качестве таких файлов могут выступать изображения, таблицы, скрипты Java);
  • присутствие на веб-сайте элемента, периодически посылающего серверу AJAX-запросы (к примеру, чат), при этом число запросов будет зависеть как от количества посетителей, так и от числа открытых вкладок в браузере одного посетителя;
  • индексирующие боты, которые сканируют ресурсы сайта (например, всевозможные поисковые системы);
  • использование каких-либо ресурсов, которые размещены на других сайтах;
  • DDoS-атаки.

Ошибка 503 service temporarily unavailable известна практически все людям, которые проводят много своего времени на просторах интернета, посещая те или иные сетевые ресурсы. К сожалению, но обычный пользователь никак не может исправить сию неприятность – единственное решение проблемы можно найти только со стороны владельца недоступного сайта.

Естественно, что перед тем, как убрать эту неприятность, важно понять, что означает ошибка 503 service temporarily unavailable.

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

Если одна из операций не успевает завершиться в отведенный ей промежуток времени, то на экране компьютера, откуда делает запрос доступа к сайту, возникает сообщение об ошибке, более известной, как 503 service temporarily unavailable.

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

Как исправить ошибку

Чтобы окончательно избавиться от подобной ошибки, потребуется выполнить целый комплекс работ, основанных на различных причинах ее возникновения и рекомендуемых методиках исправления ситуации:

  1. Число запросов к используемому серверу не совпадает с реальным количеством страниц сайта. Это связано с тем, что на ресурсе может располагать множество различных типов информации – изображения, таблицы, скрипты и так далее. В итоге, может возникнуть конфликт. Для исправления рекомендуется выполнить оптимизацию сайта, постараться удалить все лишнее и не нужное.
  2. Огромное число посещений сайта различными автоматическими программами, роботами, ботами, анализаторами. Решение – выполнить анализ лог-файла. Закрыть для посещения некоторые разделы сайта, необязательные для поисковых роботов и аналогичных служб.
  3. Использование технологии AJAX при создании игровых проектов, различных чатов и других «тяжелых» услуг может привести к перегрузке сервера. Рекомендация – смена серверных услуг на более мощные, например, на VPS.
  4. Использование подгрузки с других интернет-ресурсов также может привести к подобной ситуации, особенно если некоторые из них прекратили свою работу. Необходимо проверить источники на доступность и оставить только те, которые можно считать надежными.
  5. DDOS-атака. К сожалению, придется ждать ответных мер со стороны самого хостинг-провайдера. На это требуется время, пока не будет полностью проанализирована ситуация.

Следующий пакет первопричин возникновения 503 service temporarily unavailable непосредственно связан с работой установленных скриптов:

  1. Использование дополнительных запросов при обращении к серверу. Следует убедиться, прежде всего, в хорошей скорости обработки поступающих запросов, установить минимальный таймаут на ожидание отклика, исключить в рабочем процессе использование путей вида http://.
  2. Применение очень «тяжелых» скриптов, использование поврежденных, устаревших, нерабочих плагинов. Решение – перепроверка этих элементов и отключение всех ненужных, малоэффективных.
  3. Скрипты применяются для процедуры передачи файлов большого объема. Найти решение, позволяющее выполнять подобное напрямую, исключая работу подобных дополнений.
  4. Не правильное использование почтовых рассылок. Рекомендуется установить ограничение на количество, а также выполнять рассылку в тот момент времени, когда нагрузка на применяемый сервис является минимальной.

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

Найти

Серверные ошибки

Ошибка 403 - 403 Access denied (Доступ к ресурсу запрещен)

Ошибка 403 означает, что доступ к ресурсу, папке или файлу запрещен (получен код 403 Forbidden). Возможно, что доступ был закрыт через файл.htaccess .

Так же ошибка может быть вызвана тем, что в папке нет index файла.

Ошибка 404 - 404 File not found

Документ по указанному URL не существует. Возможно, такой файл удален, либо вы ошиблись при наборе URL в браузере или пошли по неверной ссылке.

Ошибка 500 - 500 Internal server error

Появление 500 ошибки, может быть связано с неправильно указанными параметрами в файле.htaccess , который находится в папке с вашим сайтом.

Также, если файл сохранён в кодировке UTF-8, он должен быть без метки BOM . Если же файл сохранён в UTF-8 с меткой BOM , откройте файл и сохраните его без метки BOM.

Как убрать UTF-8 BOM метку

Чтобы убрать BOM , например в Notepad++, нужно открыть в нём проблемный файл, кликнуть по пункту «Кодировки» в верхнем меню и выбрать «Преобразовать в UTF-8 (без BOM)». Далее сохраните файл и загрузите его на сервер (хостинг).

Ошибка 500 у CGI скриптов, может быть вызвана из-за неправильных прав у файла-скрипта CGI (должны быть 755).

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

Ошибка 502 - 502 Bad Gataway

Данная ошибка означает, что сервер (или proxy-сервер) получил недопустимые ответы другого сервера (или proxy-сервера).
Причиной может быть некорректная работа скриптов, либо ошибка ответа шлюза веб-сервера.

Одна из наиболее частых причин ошибки 502:
скрипт сайта отправляет cookie или другие данные множество раз при каких-то определённых действиях, в результате чего объём заголовков (header) растёт больше допустимого лимита веб-сервера.

При достижении порогового значения, веб-сервер отклоняет запрос с слишком большим заголовком, отбрасывая соединение с ошибкой 502 Bad Gateway . Такое бывает, когда скрипты написаны разработчиками без должной оптимизации.

На хостинге используется связка веб-серверов nginx (front-end) + apache (back-end)
У nginx указаны оптимальные параметры для заголовков:

Proxy_buffer_size 32k; proxy_buffers 16 32k;

Прочие причины:
иногда пользователи невнимательны в выборе опций, и не читают их описание.
В зайдите в раздел Домены → Настройки, если там включены все опции прдряд (стоят галочки), то отключите их. Это может убрать ошибку 502.

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

Ошибка 503 - 503 Service temporarily unavailable

Ошибка 503 (Service Temporarily Unavailable) – обслуживание временно недоступно.

Многие не до конца понимают причины появления ошибки 503 и считают, что во всем виноват сервер.
5хх ошибки действительно серверные, но это не всегда значит, что проблема именно на стороне сервера.

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

Информация для более детального понимая проблемы.

Что же такое хостинг? Хостинг - некоторое количество аккаунтов на одном сервере, в каждом аккаунте может быть не один сайт и основное ограничение на нашем хостинге - это ограничение по нагрузке аккаунта пользователя, причем ограничение от одного потока процессора (CPU), а мы используем мощные многопроцессорные сервера.
Приведем пример на основе нашего сервера с минимальной частотой CPU 3.2GHz - это частота одного потока (ядра) процессора, а их 8 (на некоторых - больше), но как написано выше, ограничение для одного аккаунта считается от одного ядра. Теперь возьмем минимальный тариф SSD1 , где ограничение по нагрузки составляет 20% CPU. 20% от 3.2GHz это640MHz, причем всего за 100 рублей/месяц. Много это или мало - решать вам, но для минимального тарифа этого более чем достаточно. Поэтому для каждого аккаунта на сервере выделяется определенное количество рабочих процессов, которые обрабатывают запросы пользователей ваших сайтов. Эти запросы поступают на сервер в порядке очереди. Если этих запросов несколько, то сервер их легко обработает, но если их достаточно много - очередь будет расти, а если процессы еще в добавок и тяжелые, то очередь будет продвигаться медленнее.
Сервер ограничен в вычислительных мощностях, поэтому есть ограничения по нагрузке для каждого аккаунта. Если серьезная нагрузка длится слишком долго - может «рухнуть» весь сервер, все аккаунты пользователей и все сайты - вот тут и возникает ошибика 503 (Service Temporarily Unavailable) говорящая о том, что веб-сервер не может обрабатывать больше запросов и необходимо подождать пока очередь уменьшиться и можно будет дальше обрабатывать запросы.
Мы рассмотрели, как устроен хостинг и теперь постараемся описать основные причины, при которых может расти очередь, и, по возможности, пути решений этой проблемы. Иногда это может быть очень сложной задачей и собственных знаний может не хватить, но тем не менее, рассмотрим варианты:

- Зависание скриптов при передаче больших статичных файлов через PHP.

Такие большие файлы лучше всего передавать напрямую, не используя скрипты. Почему? Скрипты работают определенное время, а не постоянно и при окончании времени работы скрипта прерывается передача файла, соответственно файл не будет передан полностью, а запрос оставит процесс веб-сервера работать ещё длительное время. Также, каждая передача файлов через PHP - это отдельный рабочий процесс веб-сервера apache, а для передачи статичных файлов напрямую будет использоваться отдельный многопоточный процесс веб-сервера nginx, который может обрабатывать множество потоков, а значит не будет влияния передачи файла на загрузку.
Хранение и отдачу файлов можно также реализовать через правила mod_rewrite и файл.htaccess , в этом случае можно использовать решение антилич. Антилич - это система, которая не позволит скачать ваш файл по ссылке на странице с другого сайта. Часто, если ваш файл популярен, недобросовестные web-мастера могут поставить у себя прямую ссылку на него, не упоминая о вашем сайте. Естественно, если сайт, на котором подгружается изображение от вашего сайта, посещаемый - это так же может создавать дополнительную нагрузку.

- Удаленное соединение с другим сервером (сайтом и т.д.).

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

Также часто используют вставки отдельных функций, кодов и т.д. (include) и если эти функции располагаются в одном аккаунте - используйте только локальные пути, а не в виде вставки url-адреса (http://site.ru/file.php). Лучше вставить конструкцию, например, такого вида: include "file.php"; . Это не будет делать дополнительный внешний запрос на сервер и тем самым вы снизите нагрузку, уменьшите количество создаваемых процессов.

Очень тяжелые или испорченные дополнения систем управления сайтами (при использовании CMS и прочих скриптов).

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

- Задания выполняющиеся долгое время.

Иногда в самих скриптах пишут задания на выполнение чего-либо по расписанию (например в тех же mambot’ах в joomla). Если их можно перенести в планировщик (cron), то лучше это сделать через cron, так как такие задания в joomla выполняются вместе с запросами пользователей и тем самым замедляют загрузку сайта и увеличивают нагрузку, а в некоторых случаях сайт вовсе перестает загружаться.

Рассылки писем могут влиять на загрузку сайта, тем не менее они часто бывают необходимы и их так же лучше оптимизировать. Скрипт запуска рассылки можно добавить в планировщик (cron), как и в случае с mambot’ами в joomla. Управление планировщиком находится в и доступно при соответствующем тарифе. Запускать такие скрипты лучше во время наименьшей нагрузки, например ночное, когда на сайте меньше всего посетителей.

- Медленные или не оптимизированные запросы sql к базе данных.

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

- Большое количество запросов к серверу.

Старайтесь избегать лишних запросов. Запросы могут исходить не только от посетителей ваших сайтов, но и, например, от индексирующих ботов с поисковиков, sape и т.д, также увеличивается количество запросов при использовании большого количества url на файлы (изображения, js-скрипты, css-стили), которые загружаются через отдельные запросы (при включенном apache вместо nginx). По возможности, объединяйте их в один файл.

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

Вставка iframe-кодов на сайте тоже может быть причиной ошибки 503.
Еще один пример увеличения запросов - использование другими сайтами ваших ресурсов (ссылки на файлы, картинки, различные информеры). Используйте антилич системы в борьбе с этим.

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

Если у вас все оптимизировано, используется кеширование, минимум запросов и просто не хватает ресурсов на используемом тарифе, тогда остается задуматься о переходе на другие тарифные планы.

Конечно, все хотят недорогие тарифы, при этом про оптимальное расходование ресурсов многие просто забывают.
На WebHOST1 разработаны оптимальные тарифы и нужно просто подобрать необходимый для вас тариф, что можно осуществить самостоятельно в биллинге.

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

Ошибка 504 - 504 Gateway time-out

Этот код ответа означает, что клиентский запрос nginx передал apache, а apache не смог в установленный лимит времени вернуть HTTP-ответ?, в рузультате сервер разрывает сетевое соединение по таймауту. Причиной может быть долгая работа процесса - сценария, запущенного скриптом веб-сайта.

Можно попробовать увеличить выделенное время для php, прописав в корне сайта в файл.htaccess код:

# время выполнения скрипта - сценария php_value max_execution_time 60 # время загрузки данных php_value max_input_time 60 Однако это не избавит от таймаута веб-сервера с 504 ошибкой. Таймаут веб-сервера в рамках виртуального хостинга изменить не представляется возможным.