База знань›Webhosting›Помилка 503 Service Temporarily Unavailable

Webhosting – Помилка 503 Service Temporarily Unavailable

На цій сторінціПомилка 503: Service temporarily unavailableУсунення помилки 503Часті запитання

Помилка 503 часто з’являється епізодично. Щоб відстежувати сайт і отримувати інформацію про доступність послуги електронною поштою або іншими каналами, розгляньте використання додаткової послуги EWM ⧉.

Якщо помилка 503 часто виникає на хостингу з WordPress, перегляньте також статтю Webhosting – WordPress.

У цій статті ви прочитаєте:


Помилка 503: Service temporarily unavailable

Помилку 503 можна впізнати за великим написом Service Temporarily Unavailable у верхній частині сторінки. Під заголовком ви знайдете англійський опис помилки та посилання на цю статтю.

Сторінка з помилкою 503 Service temporarily unavailable
Сторінка з помилкою 503 Service temporarily unavailable

З помилкою 503 Service Temporarily Unavailable можна зіткнутися на будь-якому сайті, який для своєї роботи використовує PHP або подібні технології. Сервер працює на повну потужність, але все одно не реагує на нові запити. Причиною проблем зазвичай є досягнення лімітів деяких параметрів вебхостингу.


Усунення помилки 503

Кожен Webhosting NoLimit ⧉ має на нашому сервері зарезервовано до 25 PHP-процесів (7 у LowCost ⧉, 30 у Extra ⧉), які можуть працювати одночасно. Це означає, що в один момент процесор може обробляти щонайбільше задану кількість PHP-запитів. Запити, які процесор не встигає обробити через їхню тривалість, потрапляють у чергу й чекають на свій час. Якщо вільного PHP-процесу вони не дочекаються протягом певного часу (так званого timeout), повертається помилка 503.

За звичайних обставин 25 PHP-процесів достатньо — якщо ваші сторінки належно оптимізовані, з цією проблемою ви не зіткнетеся. 

Помилку 503 найчастіше спричиняють:

Атака на вебсервер

Поширеною причиною помилки 503 є атаки або інші форми перевантаження вашого сайту запитами, які вичерпують процеси та блокують реальним користувачам доступ до сайту. У такій ситуації помилка зазвичай з’являється епізодично й триває від кількох до кількох десятків хвилин.

Виявити цю проблему можна, увімкнувши логування за інструкцією Webhosting – Логування, причому як Accesslog, так і Errorlog.

  • У Accesslog ви знайдете перелік звернень до вашого сайту, зокрема конкретні адреси. Безглузді адреси або параметри (в адресі після символу ?) — звичайна ознака атаки.
  • У Errorlog ви знайдете час, коли виникла помилка 503. Якщо цей час збігається з піками звернень в Accesslog, спричиненими підозрілою активністю, помилку, ймовірно, спричинила атака.

WEDOS пропонує ефективний захист від атак — послугу WEDOS Protection ⧉. Якщо ви часто спостерігаєте помилку 503 через атаки, розгляньте підключення цього захисту.

Оптимізація сайту та бази даних

Якщо сайт не оптимізований, до перевантаження часто може призводити навіть звичайна відвідуваність або неефективна робота із зовнішніми ресурсами чи базою даних. Помилка з’являється епізодично — або в години пік, або під час автоматичного обслуговування; триває від кількох до кількох десятків хвилин.

Серед поширених причин помилки 503 та способів їх усунення:

  • Неправильно оптимізований PHP-застосунок: Застосунок неефективно надсилає свої запити до процесора. Якщо ви використовуєте систему керування контентом, з’ясуйте, чи вона підтримує так зване кешування. Якщо так, увімкніть його. Це суттєво скоротить час виконання скрипта, зменшить кількість SQL-запитів до бази даних і прискорить ваші сторінки. Більше інформації ви знайдете в статті Webhosting – Кеш і проксі.
  • Надто часті або тривалі фонові процеси: Усілякі скрипти обслуговування, особливо ті, що кудись щось завантажують або, навпаки, звідкись скачують, можуть легко надовго зайняти велику кількість процесів, які тоді не дістаються звичайним користувачам. Для регулярних процесів обслуговування рекомендуємо використовувати CRON для Webhosting. Резервне копіювання та інші ресурсомісткі процеси обмежте часом поза піком.
  • Велика кількість записів у базі даних: Застосунок записує в базу даних звернення відвідувачів або подібні великі набори даних. Подумайте, які дані вам справді потрібні, і відповідно адаптуйте або застосунок, або хостинг.
  • Невдала конфігурація бази даних: У застосунку неправильно налаштовано таблиці бази даних. PHP тоді дуже довго очікує на результати SQL-запитів.
  • PHP-застосунок підключається до недоступного зовнішнього ресурсу: Застосунок завантажує зовнішні дані, але з цільовим сервером неможливо зв’язатися, він не відповідає або перевантажений. Якщо ви часто стикаєтеся з цією проблемою, розгляньте зміну джерела зовнішніх даних.
  • Скрипт, який викликає cron, працює надто довго: Якщо у вас велика кількість cron-завдань або вони працюють довго, вони можуть заблокувати PHP-процеси, доступні для вашого сайту. Подумайте, які cron-завдання застосунку справді потрібні, як часто і як їх можна оптимізувати.
  • Завантаження файлів через PHP-скрипт: Застосунок організовує завантаження великих файлів за допомогою PHP-скрипта і тим самим займає PHP-процес протягом усього завантаження. Тому краще організовувати завантаження файлів через посилання або перенаправлення безпосередньо на URL-адресу файлу.
  • Велика кількість файлів у невдалій структурі каталогів: Застосунок містить в одному каталозі понад кілька тисяч елементів. Розподіліть файли по відповідних каталогах.

Отже, помилка 503 може зовсім не бути пов’язана з поточною відвідуваністю або змінами на сайті. Часто йдеться про завантаження даних із повільного чи недоступного зовнішнього ресурсу або про роботу cron-завдання, яке довго щось завантажує, оновлює, виконує обслуговування тощо. Також може випадково зійтися більша кількість складних запитів, зазвичай пошуку у великих базах даних.

Підвищення продуктивності послуги

Якщо вам не вдається знайти спосіб оптимізувати сайт, можете підлаштувати продуктивність послуги під його потреби. Розгляньте такі варіанти:

  • Зміна тарифу Webhosting: Тариф Webhosting можна підвищити з LowCost на NoLimit або з NoLimit на Extra. Порівняння продуктивності тарифів ви знайдете за цим посиланням ⧉. Інструкцію щодо зміни тарифу ви знайдете в статті Послуги – Зміна тарифу або розрахункового періоду.
  • Зміна послуги: Якщо вашому застосунку не вистачає продуктивності спільного вебхостингу, але ви не хочете втрачати керування в клієнтській адміністрації, розгляньте перенесення застосунку на послугу WMS ⧉.
  • Розділення аліасів і субдоменів. Aliases і Subdomains вебхостингу поділяють продуктивність послуги. Якщо трафік на одному чи кількох аліасах або субдоменах спричиняє помилку 503, розгляньте створення окремого хостингу для відповідного домену чи субдомену.

Завислий процес PHP

Рідко помилку 503 може спричинити також зависання PHP-процесу. Якщо ви спостерігаєте помилку 503 постійно протягом кількох десятків хвилин або годин і не допомагає навіть очищення кешу (наприклад, комбінацією клавіш Ctrl+Shift+R), перезапустіть PHP на вашому хостингу.

Під час змін версії PHP можуть виникати помилки в PHP, спричинені несумісністю сайту з тимчасово вибраною версією PHP.

Виконайте такі кроки:

  1. Увійдіть до клієнтської адміністрації ⧉.
  2. У верхньому меню виберіть Hosting Services Webhosting.
  3. Виберіть вебхостинг, для якого потрібно перезапустити PHP.
  4. У лівому меню виберіть PHP configuration.
  5. Змініть версію PHP на іншу, за можливості якнайближчу (наприклад, PHP 7.4 7.3 або 8.0 8.1).
  6. Натисніть кнопку Edit.
  7. Зачекайте півгодини, поки версія PHP зміниться. Потім таким самим способом поверніть початкову версію.

Якщо помилка 503 зберігається і після такого перезапуску, ймовірно, її спричиняє інша причина, ніж завислий процес.

Зміна версії PHP для Webhosting у межах скидання
Зміна версії PHP для Webhosting у межах скидання

Часті запитання

Чи є помилка 503 специфічною для серверів WEDOS?

З помилкою 503 можна зіткнутися на будь-якому вебсервері. Коли ви шукаєте відповідний хостинг для свого застосунку, спершу ознайомтеся з його вимогами, а потім відповідно сформуйте свій запит. Окрім доступного місця для файлів і бази даних, зверніть увагу на параметри RAM і CPU. Враховуйте, що разом із продуктивністю зростає й ціна послуги.

Чи означає 503, що мене блокує захист WEDOS.protection?

Ні. Захист показує резервну сторінку в той момент, коли сайт не відповідає вчасно. Якщо ви не впевнені, напишіть нам ⧉ дату, час і Req-ID зі сторінки помилки. Ми знайдемо конкретний запит і причину його збою.

Чи вирішить проблему підвищення тарифу?

Підвищення тарифу частково допоможе, адже вищий тариф має більше PHP-процесів. Проте це не усуває причину — коли одне завдання працює тридцять секунд, воно займає процес і на вищому тарифі, а якщо таких завдань збирається більше, процесів для звичайної роботи не залишається. Рекомендуємо зробити і те, і інше.

Як усунути помилку 503 у WordPress?

У WordPress часто йдеться про надто ресурсомісткі фонові процеси. Більше інформації та порядок вирішення ви знайдете в статті Webhosting – WordPress.

Я повністю вимкнув увесь сайт, але все одно спостерігаю помилку 503. Чому так?

Спробуйте очистити кеш браузера (наприклад, комбінацією клавіш Ctrl+Shift+R). Якщо це не допоможе, спробуйте перезапустити PHP за процедурою в розділі Завислий процес PHP.

Чи була ця стаття корисною?

Ваша оцінка допомагає нам покращувати статті.

Ваше повідомлення прочитає редакція документації, але вона на нього не відповідає. Якщо вам потрібна допомога, звертайтеся до нас через контактну форму. Не вказуйте тут паролі чи особисті дані.

Не знайшли те, що шукаєте?

Запитайте інших клієнтів на сайті спільноти Help.