Stream unavailable что это
HTTP Error 503. Service Unavailable: случай в поддержке хостинга
Начало
Хостинг предоставляет пользователям типичный стек Linux + Apache + Mysql + PHP и оболочку для управления. В нашем случае это ISP Manager 5 business на базе Centos 7 с конвертацией в CloudLinux. Со стороны административной части, CloudLinux предоставляет инструменты для управления лимитами, а так же PHP-селектор с различными режимами работы (CGI, FastCGI, LSAPI).
В этот раз к нам обратился клиент со следующей проблемой. Его сайт на движке WordPress периодически начал отдавать 503 ошибку, о чём он нам и сообщил.
Коды ответа, начинающиеся с 50х, относятся к проблемам на стороне сервера. Это могут быть проблемы как самого сайта, так и веб-сервера, который их обслуживает.
Типичные ситуации, при которых мы получаем следующие ошибки:
При выполнении диагностики данных ошибок, первым делом проверяем журналы веб-сервера. Обычно, этого достаточно, чтобы определить виновника и исправить проблему.
Касаемо 503 ошибки в нашем случае, в логах мы видели запись:
[lsapi:error] [pid 49817] [client x.x.x.x:6801] [host XXX.XX] Error on sending request(GET /index.php HTTP/1.0); uri(/index.php) content-length(0): ReceiveAckHdr: nothing to read from backend (LVE ID 8514), check docs.cloudlinux.com/mod_lsapi_troubleshooting.html
На основании только этого лога, определить в чём может быть проблема не представлялось возможным.
Первичная диагностика
Изначально, мы проверили статистику превышения лимитов пользователем. Незначительные превышения были зафиксированы за предыдущие дни, но ошибки в журналах были свежие, более того они появлялись в журнале с периодичностью от одной до нескольких минут.
Так же мы изучили рекомендации CloudLinux, по приведённой в журналах ошибок ссылке.
Изменение каких-либо параметров результата не принесло.
Сайт использовал базу данных на сервере Mysql 5.7, который работает на этом же сервере в контейнере Docker. В логах контейнера присутствовали сообщения:
Как раз, среди этих сообщений были сообщения о прерванном подключении исследуемого сайта. Это дало предположение, о том, что подключение к СУБД выполняется некорректно. Для проверки мы развернули копию сайта на тестовом домене, сконвертировали базу данных сайта под нативную в Centos 7 версию СУБД 5.5.65-MariaDB. На тестовом сайте выполнили несколько сотен запросов с помощью утилиты curl. Ошибку воспроизвести не удалось. Но этот результат был предварительным и после конвертации БД на рабочем сайте проблема так и осталась.
Таким образом, проблема некорректного подключения к СУБД была исключена.
Следующим предположением было проверить — нет ли проблем с самим сайтом. Для этого подняли отдельный виртуальный сервер, на нём подняли максимально схожее окружение. Единственное существенное отличие — отсутствие CloudLinux. На тестовом сервере проблему воспроизвести не удалось. Итак, мы определили, что в коде сайта всё в порядке. Тем не менее, пробовали так же отключать плагины WordPress, но проблема так же сохранялась.
В результате, пришли к тому, что проблема на нашем хостинге.
В ходе анализа журналов других сайтов было обнаружено, что проблема наблюдается на многих из них. Порядка 100 шт. на момент проверки:
В ходе тестирования обнаружили, что только что установленная чистая CMS WordPress также периодически выдаёт ошибку 503.
Примерно за 2 месяца до этого мы проводили работы по модернизации сервера, в частности изменили режим работы Apache с Worker на Prefork, с целью получить возможность использовать PHP в режиме LSAPI, вместо медленного CGI. Было предположение, о том, что это могло повлиять, либо требуются какие-то дополнительные настройки Apache, но вернуть обратно режим Worker мы уже не могли. В ходе изменения режима работы Apache выполняется изменение всех конфигов сайтов, процесс не быстрый и не всё могло пройти гладко.
Корректировка настроек Apache так же не дала желаемого результата.
Попутно искали схожие проблемы в поисковых системах. На одном из форумов участники утверждали, что проблема у хостера и нужно его менять, если проблему не решают. Звучит не очень оптимистично, когда ты находишься с другой стороны, но и клиента понять можно. Зачем ему нерабочий хостинг.
На данном этапе мы собрали имеющуюся информацию и результаты проведённых работ. С ними обратились в поддержку CloudLinux.
Детальная диагностика
В течение нескольких дней сотрудники поддержки CloudLinux вникали в проблему. В основном рекомендации были относительно установленных лимитов пользователей. Этот вопрос мы так же проверяли. При отключенных лимитах (Опция CageFS для пользователя) и с включенными лимитами в режиме PHP как модуль Apache проблема не наблюдалась. Исходя из этого, было сделано предположение, что каким-то образом оказывает влияние CloudLinux. В итоге, к концу недели запрос был эскалирован на 3-ий уровень поддержки, но решения пока не было.
Попутно изучали документацию Apache по режимам работы CGI и LSAPI, подняли второй экземпляр Apache на сервере хостинга на другом порту с тестовым сайтом, исключили влияние Nginx, отправляя запросы напрямую к Apache и получая те же коды ошибок.
Сдвинуться с мёртвой точки помогла документация LSAPI, как раз по диагностике 503 ошибки:
www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:php:503-errors
В секции Advanced Troubleshooting предлагается выполнять трассировку найденных в системе процессов:
Команда была доработана, с целью записи всех процессов в файлы с указанием их идентификаторов.
При просмотре файлов трассировок, мы видим в некоторых одинаковые строки:
Если взглянуть на описание структуры сигналов, отправляемых процессами, то увидим, что
Указывает на идентификатор процесса, отправившего сигнал.
На момент изучения трассировок, процесса с PID 42053 в системе уже нет, поэтому в процессе захвата трассировок решили отслеживать так же процессы, отправившие сигнал SIGHUP.
Под спойлером описаны действия, которые позволили определить что это за процесс, а так же получить его трассировку и дополнительную информацию, о том, каким процессам он отправляет сигнал SIGHUP.
Ждём пока в консоли 1 появятся сообщения, при этом в консоли 4 видим статус запроса с кодом ответа 503, прерываем выполнение в консоли 4.
Данный процесс выполнялся в системе с периодичностью раз в минуту.
Делаем трассировку нескольких процессов cagefsctl, чтобы отследить хотя бы один от начала до конца:
Далее изучаем что он делал, например:
Так же были получены идентификаторы процессов, которые были завершены сигналом SIGHUP. Завершённые процессы были процессами PHP, выполняющимися в данный момент.
Полученные данные были переданы в поддержку CloudLinux с целью уточнить легитимность данного процесса и должен ли он работать с такой периодичностью.
Единственная зацепка в данном случае осталась — проверить, кто является родительским процессом cagefsctl.
Результат не заставил себя долго ждать и какого же было наше удивление — родительским процессом для cagefsctl являлся процесс ispmgrnode. Это было немного странно, потому что уровень журналирования для ISP Manager был задан максимальным и в ispmgr.log не увидели вызов cagefsctl.
Теперь данных было достаточно, чтобы обратиться и в поддержку ISP System.
Итоги
Проблема была спровоцирована после выполнения обновления ISP Manager. В целом, обновление ISP Manager — штатная ситуация, но она привела к запуску процесса синхронизации, который завершался с ошибкой и перезапускался ежеминутно. Процесс синхронизации вызывал за собой процесс cagefsctl, который в свою очередь завершал процессы PHP.
Причиной зависания процесса синхронизации стали проведённые на хостинге работы по модернизации оборудования. За несколько месяцев до возникновения проблемы, в сервер был установлен PCI-e NVMe-накопитель, создан раздел XFS и смонтирован в каталог /var. На него были перенесены в том числе и файлы пользователей, но не обновились дисковые квоты. Опций монтирования было не достаточно, требовалось так же изменить тип файловой системы в параметрах ISP Manager, т.к. она вызывает команды обновления дисковых квот. Для Ext4 и XFS эти команды отличаются.
Таким образом, проблема дала о себе знать спустя несколько месяцев после проведения работ.
Выводы
Мы сами создали проблему, но это было не ясно до последнего момента. На будущее, будем стараться учесть как можно больше нюансов. Благодаря помощи более подготовленных коллег из поддержки CloudLinux и ISP System, проблема была решена. Теперь наш хостинг работает стабильно. А нами был получен опыт, который пригодится нам в будущей работе.
Stream unavailable #13
Comments
sritee commented Mar 3, 2018
Installed using given procedure. Says stream unavailable all the time.
The text was updated successfully, but these errors were encountered:
jonian commented Mar 3, 2018
sritee commented Mar 3, 2018
I am using Ubuntu 16.04. The output is
`2018-03-03 22:29:09,753|MainThread|acestream|platform=linux
2018-03-03 22:29:09,753|MainThread|acestream|app=acestream
2018-03-03 22:29:09,753|MainThread|acestream|version=3.0.3 code=3000300 revision=1355 date=2014-10-31
2018-03-03 22:29:09,754|MainThread|acestream|use_local_db=True
2018-03-03 22:29:09,754|MainThread|acestream|use_m2crypto=True
2018-03-03 22:29:09,754|MainThread|acestream|enable debug: 0
2018-03-03 22:29:09,754|MainThread|acestream|get_default_api_version: 2
2018-03-03 22:29:09,754|MainThread|acestream.coreapp|use fixed i2i_port: 62062
2018-03-03 22:29:09,773|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:56757
2018-03-03 22:29:09,773|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=8621
2018-03-03 22:29:09,773|MainThread|acestream.LM|listen on 8621
2018-03-03 22:29:09,779|MainThread|acestream.VideoServer|start: addr=127.0.0.1 port=6878
2018-03-03 22:29:09,783|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:60297
2018-03-03 22:29:09,784|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=127.0.0.1 port=62062
2018-03-03 22:29:09,784|Instance2InstanceThread-24|acestream.APIServer|run: ready to receive remote commands on 62062
2018-03-03 22:29:11,805|Thread-16|acestream.upnp|Unable to create Port Forward. Error:ConflictInMappingEntry
sritee commented Mar 3, 2018 •
Want to also note that it was working fine 2 weeks or so ago for me. Just did a reinstall again to be sure.
jonian commented Mar 3, 2018
Since acestream-launcher v1.0.0 I switched to using engine HTTP API that is available on acestream-engine 3.1 or later.
Downgrade acestream-launcher or upgrade acestream-engine.
sritee commented Mar 3, 2018
May I know how I can and what version to I can do this on Ubuntu? Thanks for your help and the product.
Что означает ошибка сервера 503 и как ее исправить
Как и любая проблема с доступом к интернет-ресурсам, ошибка 503 Service Unavailable («Сервис недоступен») может быть вызвана сбоями как на стороне пользователя, так и на стороне сервера, на котором находится сайт. Поэтому первое, что нужно сделать, если вы столкнулись с таким сообщением при посещении веб-ресурса, попробовать устранить сбой своими силами. Это намного проще и быстрее, чем пытаться донести информацию о возникших сложностях до владельца сайта.
Процедура устранения проблемы со стороны администратора веб-ресурса более сложная, но в большинстве случаев именно неправильные настройки на уровне хостинга или настроек сайта в панели управления CMS приводят к появлению ошибки сервера с кодом 503.
Мощный хостинг в подарок при заказе лицензии 1С-Битрикс
Выбирайте надежную CMS с регулярными обновлениями системы и профессиональной поддержкой. А мы подарим вам год мощного хостинга – специально для сайтов на 1С-Битрикс.
Устранение ошибки 503 пользователем
Возникает резонный вопрос: почему бы просто не покинуть проблемный сайт, пусть сами разбираются со своими багами? Это решение очевидное, но не совсем верное. Во-первых, вам может быть очень необходимо посетить именно этот веб-ресурс. Во-вторых, появление сигнала об ошибке доступа может говорить о том, что с вашим браузером, программным обеспечением, компьютером или другими устройствами что-то не в порядке. И тогда это уже ваша проблема, которая может повторяться систематически и при посещении других сайтов. Рассмотрим, что можно сделать самому, чтобы исправить ошибку 503, двигаясь от простого к сложному.
Если ни один из вышеприведенных способов не помог, а достучаться до сайта ну очень нужно, пишите о проблеме в техподдержку данного ресурса, приложив скриншот страницы с кодом и описанием ошибки.
Ошибка 503 может отображаться в разных форматах с дополнительными информативными сообщениями. Появление страницы «503 Service Temporary Unavailable – Сервис временно недоступен» говорит о том, что проблема носит временный характер. В этом случае пользователю рекомендуется не предпринимать никаких действий и просто дождаться, когда доступ восстановится автоматически.
Решение проблем с ошибкой 503 администратором веб-ресурса
При возникновении ошибки 503 Service Unavailable в любом ее проявлении администратор web-ресурса в первую очередь должен разобраться в причине ее появления. Игнорирование данной процедуры по принципу «само пройдет» может привести к тому, что сайт понесет глобальные потери в объеме пользовательского трафика и, как следствие, конверсии. Посетители, регулярно сталкивающиеся с проблемами доступа к определенному ресурсу, очень быстро занесут его в «игнор».
В зависимости от конкретного тарифного плана хостинга каждый сайт имеет ограничения по одновременной обработке запросов, поступающих на сервер от конечных пользователей. Более простые запросы браузеров обрабатываются практически мгновенно, сложные ожидают очереди в порядке их поступления. Количество отложенных запросов лимитировано, при превышении нормы каждый следующий отклоняется. В этом случае посетитель сайта видит на экране сообщение с кодировкой error 503.
Наиболее частые причины возникновения ошибки 503 на стороне сервера
Как видим, решение практически всех проблем, приводящих к появлению ошибки 503, достигается использованием более мощных серверов и высокоскоростного качественного хостинга. Отрицательная сторона этого способа в его затратности. Распределение пользовательского трафика неравномерно по времени, и банальный апгрейд железа не поможет полностью исключить сбои в моменты пиковых нагрузок.
Как избежать появления ошибок 503
Для начала рекомендуется провести статистический анализ через административную панель (снять логи), чтобы понять, какие процессы создают максимальную нагрузку на сервер, и произвести определенные изменения в настройках.
Уменьшение нагрузки на базу данных можно добиться следующими способами:
Оптимизация работы скриптов
Дополнительную нагрузку на сервер, приводящую к появлению ошибки 503, могут создать DDoS-атаки. Защита от них с помощью фильтрации относится к отдельной теме обсуждения.
Следует отметить, что ошибка 503, вызванная перегрузкой серверных мощностей, может пройти сама собой, без внешнего вмешательства. Чтобы понять, произошло ли исправление ситуации, достаточно периодически перезагружать сайт.
Заключение
Ошибка 503 Service Unavailable может возникнуть на любом сайте, управляемом одной из наиболее популярных CMS – WordPress (Вордпресс), Joomla (Джумла), DLE (ДЛЕ) и любой другой, использующей базы данных MySQL. Способов ее решения много, начиная от самых простых на уровне пользователя и заканчивая довольно сложными процедурами, которые должен выполнить администратор сайта.
Буду благодарен, если вы нашли нестандартный подход к устранению сбоя с кодировкой 503 и готовы поделиться своим опытом в комментариях!
Что означает ошибка сервера 503 и как ее исправить
Сообщение на странице сайта 503 Service Temporary Unavailable – «сервис временно недоступен» может появляться из-за технических сбоев как на сервере, так и на компьютере пользователя. Последнее случается реже.
Наиболее распространенная причина проблемы – перегруженность сервера запросами. Он не успевает их обрабатывать, и всем клиентам в очереди выдает ошибку с кодом 503. Такая картина может наблюдаться, например, во время DDoS-атаки.
Обнаружив ошибку 503, лучше всего ничего не делать. Подождите 3-5 минут. Очередь запросов в большинстве случаев – временное явление, и вскоре сайт станет доступен. Чего точно не нужно делать,– это постоянно перезагружать страницу с ошибкой. Так вы только увеличиваете число запросов в очереди.
Как устранить ошибку 503 на стороне пользователя?
Что делать, если ошибка 503 – на стороне веб-ресурса?
Прежде всего, администратору сайта для ошибки сервера с кодом 503 желательно прописать параметр Retry After. Он будет показывать клиенту, через какое время тот может попробовать повторно соединится с сервером. Это уменьшит число бесконечных перезагрузок страниц и поможет снизить и без того чрезмерную в данный момент нагрузку на сервер.
Распространенные причины возникновения ошибки 503 и их исправление
В основном, ошибка 503 Service Unavailable вызывается следующими категориями причин:
Также ошибка 503 может быть вызвана тем, что ваш сайт «перерос» возможности вашего хостингового тарифного плана. В этом случае стоит подумать над тем, чтобы выбрать более производительный тариф виртуального хостинга или же VPS/VDS, выделенный сервер.
Как исправить причины ошибки
Уменьшаем число запросов к веб-серверу
Устранение ошибки 503 прежде всего подразумевает снижение нагрузки на веб-сервер. Для этого:
Оптимизируем работу с MySQL
Исправляем проблемы с CMS
Ошибка 503 Service Unavailable может быть вызвана некорректно работающими или «тяжелыми» компонентами движка вашего сайта. Чтобы выявить это, отключайте последовательно плагины или модули. Так вы найдете компонент, после выключения которого все начнет нормально работать. Оптимизируйте его или замените на более современный и быстрый.
Также рекомендуется поддерживать порядок в вашем «парке» плагинов – вовремя их обновлять, удалять те, что не используются, Плюс необходимо отслеживать корректность работы сайта после установки каждого нового модуля, а также после обновления старых – могут возникать конфликты программного обеспечения.
Оптимизируем работу скриптов
Что можно сделать для предотвращения проблемы?
В заключение дадим несколько советов – как предотвратить возникновение ошибки 503 Service Unavailable:
Что такое ошибка 503 Service Unavailable и как ее исправить
О шибка 503 Service Unavailable возникает, когда веб-сервер временно не может обработать запрос. Почти всегда ошибка на самом сайте, и Вы ничего не можете с этим поделать, но можете попробовать еще раз позже. Тем не менее, есть несколько быстрых вариантов, которые Вы можете попробовать.
Что такое ошибка 503 Service Unavailable
Ошибка 503 Service Unavailable указывает, что веб-сервер временно не может обработать запрос. Это может быть веб-сервер, к которому Вы пытаетесь получить доступ напрямую, или другой сервер, к которому в свою очередь пытается получить доступ веб-сервер. Это называется ошибкой 503, потому что это код состояния HTTP, используемый веб-сервером для определения такой ошибки. Ошибка может возникнуть по ряду причин, но две наиболее распространенные причины: сервер перегружен запросами или выполняется техническое обслуживание.
Ошибка 503 отличается от ошибки 500 Internal Server. Ошибка 500 возникает, когда что-то мешает серверу обработать Ваш запрос, в то время как ошибка 503 на самом деле означает, что сервер в порядке — он может обрабатывать Ваш запрос и возвращает ошибку 503.
Как и при других подобных ошибках, дизайнеры веб-сайтов могут настроить способ отображения ошибки 503. Таким образом, на разных веб-сайтах Вы можете увидеть разные страницы ошибки 503. Веб-сайты также могут использовать несколько разных наименований для этой ошибки. Например, Вы можете увидеть такие названия, как:
Важно помнить, что ошибка 503 является ошибкой на стороне сервера. Это означает, что проблема существует с веб-сайтом, к которому Вы пытаетесь получить доступ, а не с компьютером. Это хорошие и плохие новости. Это хорошая новость, потому что нет ничего плохого в Вашем компьютере, и это плохая новость, потому что обычно Вы ничего не можете сделать, чтобы решить проблему с Вашей стороны.
Тем не менее, вот несколько вариантов, которые Вы можете попробовать.
Обновите страницу
Как мы уже упоминали, ошибка 503 указывает на временную проблему, и иногда эта проблема очень временная. Например, сайт может быть перегружен трафиком. Итак, всегда стоит попробоавть обновить страницу. Большинство браузеров используют клавишу F5 для обновления, а также предоставляют кнопку «Обновить» где-то в адресной строке. Это не часто исправляет проблему, но для ее выполнения требуется всего одна секунда.
Предупреждение: Обязательно обратите особое внимание, если ошибка возникает, когда Вы делаете платеж. Обновление страницы может заставить Вас платить дважды, поэтому следите за этим.
Проверьте, работает ли сайт у других людей
Всякий раз, когда Вы не можете связаться с сайтом (по какой-либо причине), Вы также можете проверить, есть ли у Вас проблемы с подключением, или если у других людей такая же проблема. Для этого есть много инструментов, но мы рекомендуем isitdownrightnow.com и downforeveryoneorjustme.com. Оба работают почти одинаково. Укажите URL-адрес, который Вы хотите проверить, и получите результат.
Если Вы получите сообщение о том, что сайт не работает для всех, Вы не можете ничего сделать, но попробуйте еще раз позже. Если отчет показывает, что сайт работает, проблема может быть на Вашей стороне. Это очень редко встречается с ошибкой 503, но это возможно, и Вы можете попробовать некоторые из вариантов, которые мы описываем далее.
Перезагрузите свои устройства
Итак, Вы использовали инструмент проверки сайта и определили, что сайт не работает только у Вас. И Вы попробовали другой браузер и столкнулись с той же проблемой. Это говорит о том, что проблема, скорее всего, на Вашей стороне, но это не Ваш браузер.
Возможно, существуют некоторые странные, временные проблемы с Вашим компьютером или сетевым оборудованием (Wi-Fi, маршрутизатор, модем и т. д.). Простая перезагрузка компьютера и сетевых устройств может помочь устранить проблему.
Другая возможность заключается в том, что ошибка вызвана проблемой DNS, но на DNS-сервере, а не на Вашем компьютере. В этом случае Вы можете попробовать переключить DNS-серверы и посмотреть, будет ли проблема решена.
Связаться с веб-сайтом
Другой вариант — связаться с владельцем веб-сайта напрямую. Просмотрите их контактную информацию на веб-сайте и свяжитесь с ними о соответствующей странице. Если контактная форма отсутствует, Dы можете попытаться связаться с веб-сайтом в социальных сетях.