Що таке навантаження, і з чим її їдять, блог - інтернет хостинг центру

На віртуальному хостингу діють 2 ліміту навантаження:

  • навантаження на CPU веб-сервера
  • навантаження на CPU сервера MySQL

Навантаження кожного клієнта на CPU веб-сервера вимірюється системою Process accounting в ОС Linux (докладніше). Одиниця виміру - cp (cpu points) - кількість хвилин, які працювали б усі завдання користувача, навантажуючи одне ядро ​​на 100%.

p777 252 182801.97re 4.35cp 43802k

В даному прикладі процеси користувача p777 працювали 4.35 хвилини.

Зібрані дані щогодини обнуляються і записуються в базу даних білінгу. Якщо замовлення за минулий час перевищив годинну норму навантаження свого тарифу (1/24 ≈ 4.2%), наступну годину процеси працюють зі зниженим пріоритетом щодо інших замовлень (nice level)

Такий алгоритм дозволяє не зупиняти роботу сайтів, якщо їм тимчасово потрібно більше ресурсів (наприклад, при індексації пошуковими системами), а просто трохи сповільнювати.

З технічних причин на серверах з панелями управління cPanel і ISPmanager неможливо змінювати nice level для скриптів конкретного замовлення. Тому при регулярному перевищенні навантаження на CPU веб-сервера, ми змушені будемо зупинити роботу такого замовлення.

Навантаження на CPU сервера MySQL вимірюється системою Percona User Statistics (докладніше) в секундах роботи.

mysql> select substring_index (USER, '_', 1) `order`, sum (CPU_TIME) cpu
from information_schema.user_statistics where user like 'p%' group by `order`
order by cpu desc limit 30;
+--- + - +
| order | cpu |
+--- + - +
| p777 | 241 |
| p888 | 66 |
| p999 | 62 |
...

В даному прикладі, SQL-запити замовлення p777 працювали 241 секунду.

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

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

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

Схожі статті