Для безпеки ваших сайтів та гарантованого виділення придбаних ресурсів – ми використовуємо на своїх серверах систему CloudLinux. Дана система “ізолює” акаунти клієнтів один від одного, що забезпечує захист від “поганих” сусідів, виділяє кожному акаунту чітко визначені тарифом ресурси, тобто ви не залежите від “тяжкого” чи “популярного” сайту сусіда по серверу, а завжди маєте ті ресурси, за які сплатили.

З іншого боку, якщо ваші сайти почнуть перевищувати виділені ресурси в тарифі – система автоматично буде уповільнювати їх роботу, а за потреби й вимикати доступ до сайтів, поки використання ресурсів не повернеться до норми.

Обмеження ресурсів:

Наші тарифи хостингу використовуються наступні ліміти :

Швидкість процесораОбмеження ресурсу процесора (CPU) визначається у відсотках відносно 1 ядра, тобто якщо обмеження в тарифі 100% – вашим сайтам доступне 1 ядро процесора. Більшість тарифів має саме такий ліміт CPU.
PMEM – обмеження оперативної пам’ятіМова йде саме про “фізичну” оперативну пам’ять сервера. В наших тарифах обмеження пам’яті починаються із значення у 512МБ, і збільшується з кожним наступним тарифом. Не варто плутати даний ресурс з memory_limit у PHP. PMEM – це гранична кількість оперативної пам’яті, що може бути використана сумарно у вашому хостинг-акаунті в певний момент часу.
IOПропускна можливість операцій вводу-виводу, поєднує операції зчитування та запису. Даний ліміт визначається у МБ/секунду, мінімальні обмеження в тарифах починаються з 10МБ/сек.
IOPSОбмежує загальну кількість операцій читання/запису в секунду. В наших тарифах даний ліміт починається із значення 1024 операцій в секунду.
EP – Запущені процеси Обмеження на одночасно запущені “вхідні процеси”. Якщо не вдаватися в деталі – зазвичай мова про одночасні підключення до сайту/акаунту. Тобто мова про будь-які запущені в акаунті процеси, такі як підключення до вебсерверу (кількість одночасно запущених скриптів), процеси, запущені через SSH та cron. Обмеження в тарифах починається із значення 20.
NPROC – всього процесівМаксимальна кількість активних процесів в акаунті. Оскільки попередній ліміт враховує, наприклад, лише початковий запит до пхп-скрипта як 1 запущений процес, при цьому не рахує додаткові процеси, що з’явились в наслідок роботи вказаного скрипта (підключення до БД, поштові процеси і т.д.), то ліміт NPROC слугує саме для визначення граничної кількості усіх активних процесів без виключення. В наших тарифах обмеження починаються із значення 100.

Більш детальний технічний опис про вказані ліміти можна отримати на сайті розробників CloudLinux в документації.

Помилки та проблеми

Коли ваші вебсайти перевищують ресурси, що виділені у тарифі – ви побачите значне погіршення швидкодії на сайтах, або взагалі повідомлення про помилку. Система автоматично буде уповільнювати роботу сайтів чи переривати її у разі перевищення лімітів. Нижче наведено більш детальну інформацію про подібну поведінку чи помилки:

  • Якщо ваш акаунт перевищив ліміти CPU чи IO, то сайт працювати повільніше. Зазвичай при цьому не буде генеруватися якихось додаткових помилок. Якщо кількість перевищень ліміту процесора не є значним (наприклад, біля 100 чи менше за тиждень), уповільнення може бути не помітним та продовжуватись лише кілька секунд в момент перевищення ліміту. Якщо з подібною періодичністю у вас виникає лише “переліміт” CPU – на це можна не звертати увагу.
  • Якщо в акаунті перевищено ліміти PMEM чи NPROC – ви отримаєте при зверненні до сайтів помилку з кодами 500 чи 503.
  • Якщо в акаунті перевищено використання ліміту EP , то користувач побачить помилку 508 Resource Limit Reached під час звернення до сайтів. 

З досвіду, найчастіше виникають помилки, викликані перевищенням лімітів CPU та EP .

Проблеми через ліміт CPU 

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

Приклади процесів та причин, через які може виникати “переліміт” даного ресурсу:

  • Не оптимізований чи “погано розроблений” плагін чи шаблон.
  • Веб-сайт не використовує кешування ( дізнайтесь, як налаштувати кешування) і не завантажує сторінки ефективно.
  • Програмне забезпечення якогось зовнішнього веб-сайта регулярно звертається до скриптів вашого сайту для отримання даних.
  • Використовується ПЗ, що регулярно сканує ваш сайт, наприклад плагін Broken Link Checker для WordPress.
  • В адмін-панелі веб-сайта з частою періодичністю запускається багато фонових процесів.
  • Дії адміністратора на веб-сайтах, зазвичай, не можуть бути закешовані, і якщо такі дії виконуються у великій кількості в короткі строки – ви можете побачити, що ресурси процесора вичерпано.

Приклади зовнішніх чинників та подій, що можуть викликати проблеми з лімітом та надмірне навантаження на ЦП:

  • Атаки на сайт, автоматичний підбір паролів чи розміщення спам-коментарів ботами.
  • Пошуковий чи подібний Бот/сканер відвідує сайт, і немає налаштувань, що обмежують його.
  • Успішно проведено рекламну кампанію, що значно підняла кількість відвідувачів сайту в короткий термін.

Помилки, пов’язані з EP

Якщо ресурси даного ліміту вичерпано, сервер видаватиме помилку 508 Resource Limit Reached, аби попередити використання одним сайтом усіх ресурсів процесів веб-сервера. 

Зауважте: якщо збільшується кількість збоїв ліміту CPU – це може призвести до збільшення одночасно запущених процесів (EP), оскільки запити не можуть бути виконані швидко. Відповідно сайти будуть повертати помилки 508 Resource Limit Reached, поки усі запити не будуть оброблені.

Висновки

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

Якщо у вас виникають проблеми саме з лімітом ЦП чи часто виникають помилки 508 Resource Limit Reached – лише перехід на більший тариф, без додаткових змін чи оптимізації сайтів, має допомогти швидше обробляти запити від ваших скриптів, але ви все одно можете бачити періодичні збої, викликані даними обмеженнями.