Під час моніторингу сервера вкрай важливо правильно оцінювати навантаження системи. Розуміючи рівень навантаження, можна тверезо оцінити продуктивність і працездатність системи. З цією метою фахівці, як правило, оцінюють показник середнього навантаження Load Average. Що він відображає і як правильно його заміряти - далі в нашій статті.
Load Average (LA, середнє навантаження) - це середня міра навантаження, що відображається в кількості процесів, які перебувають у стані виконання або в стані очікування ресурсів за інтервал часу 1, 5 і 15 хвилин. Для кращої оцінки продуктивності системи найкраще дивитися саме на середнє навантаження, оскільки через короткочасні процеси навантаження швидко коливається.
Є кілька простих способів заміряти середнє навантаження. Найпростіший - прописати і виконати команду. Наприклад, у Linux достатньо виконати в терміналі команду uptime. На виводі вона відобразить поточний час, тривалість функціонування системи, кількість користувачів, а головне - середнє значення навантаження в інтервалі 1, 5 і 15 хвилин. Навантаження на сервері дізнається шляхом виконання команди w через SSH консоль.
Результат має такий вигляд:
Значення середнього навантаження вираховується на підставі процесів, які виконуються і перебувають у черзі на виконання (CPU, RAM, I/O). Більшою мірою на LA впливає завантаженість процесора, що є фактично єдиним і ключовим фактором збільшення навантаження на сервері.
Наведемо простий приклад: є VPS із двома ядрами. Значення середнього навантаження на зображенні вище: 1.03, 1.11, 1.20 - нормальне значення навантаження для VPS із 2 ядрами.
1 (одиниця) LA = 100% навантаження на 1 ядро CPU. Якщо на VPS два ядра, то середнє навантаження може досягати 2 LA:
- LA відображає значення 3.21, 4.22, 5.23 - навантаження падає, але за останні 15 хвилин у середньому воно було 4.22, що дорівнює 422% навантаження = 4 із 2 ядер - не норма;
- LA показує значення 7.15, 5.24, 1.18 - навантаження збільшується, і за останні 15 хвилин воно було 1.18, у межах норми, що відповідає 118% навантаження = 1 із 2 ядер - у межах норми (пік навантаження, який триває аж до 30 хв, припустимо).
Маючи у своєму розпорядженні три значення, ви зможете проаналізувати стан системи та оцінити її продуктивність. Якщо всі три значення - 0, отже, система перебуває в режимі очікування. Якщо ж значення зростають, значить, навантаження зростає, зменшуються - навантаження падає.
При цьому варто враховувати, що в системі може спостерігатися велика кількість стрибків у разі одночасного підключення великої кількості користувачів. Це означає, що в поєднанні з командами варто використовувати різні інструменти для моніторингу - Zabbix, Nagios, Monit. Вони реєструють активність процесора і пам'яті в довгостроковій перспективі.
Для хостингу вкрай важливо відстежувати значення LA. Дії хостера в разі збільшення навантаження залежатимуть від причини його виникнення. Наприклад, якщо навантаження зростає, перевищує кількість ядер і триває тривалий відрізок часу, LA збільшує чергу запитів на виконання. За наявності віртуалізації KVM/OpenVZ виникле навантаження погано впливатиме на фізичний сервер.
Коли користувач виконує бекап або вивантаження товарів в 1С внаслідок чого відбуваються сплески навантаження, для хостера немає серйозного приводу для занепокоєння. Але якщо LA на фізичному сервері істотно перевищує норму і дане явище зберігається тривалий час, найчастіше потрібне вжиття певних заходів, оскільки високий показник LA несе негативний ефект для клієнтів, які розмістили свої проекти на конкретному фізичному сервері.