Мені цікаво, чи є користь перевірки того, чи працює сервер, виконуючи "HTTP GET Request" щосекунди?
Чи може будь-який сервер впоратися з цим?
Мені цікаво, чи є користь перевірки того, чи працює сервер, виконуючи "HTTP GET Request" щосекунди?
Чи може будь-який сервер впоратися з цим?
Відповіді:
Чи може "будь-який" сервер впоратися з цим? Ймовірно.
Чи варто це робити? Напевно, ні.
Задайте собі кілька питань:
Коли я вперше вчився програмувати, я вирішив, що хочу зробити секундомір. Коли я нарешті отримав робочу програму, я помітив, що використання процесора на моєму ноутбуці було 100% кожного разу, коли я запускав його.
Мій цикл виконання не мав циклу очікування. Він просто продовжував виконувати функцію часу.
Того дня я засвоїв цінний урок: не існує такого нескінченно точного вимірювання.
Хоча я, як і всі інші, сумніваюсь у причині того, що хочуть так часто контролювати, технічна сторона - це не проблема. Один GET-запит щосекунди є абсолютно дрібним порівняно з типовим завантаженням сторінки.
Чи може ваш сервер це впоратися? У нас немає нічого, на що можна відповісти на таке запитання, але якщо ваш сервер має проблеми з його вирішенням, я б припустив, що це було б абсолютно неадекватно для будь-якого іншого, що він обслуговує.
Більшість комерційних програм для моніторингу за замовчуванням пропонують інтервал 1 хв. Або 5 хв. Це здається хорошим інтервалом перевірки.
Нічого поганого в тому, щоб стежити за сервером щосекунди, це просто не дуже ефективно, особливо на серверах з високим навантаженням, де запит Apache може зависати пару секунд, викликаючи ваші запити або робити резервну копію, або видавати помилкові сповіщення на цей конкретний момент, але це не «неправильно». Односекундна перевірка не зробить вас швидшими у відповіді, і в 99,9% усіх обставин перевірка на 10 або 30 секунд так само важлива.
Я згідний на 100% з Йосипом тут. Якщо ви все ще хочете зробити якийсь моніторинг у реальному часі, ви можете розглянути можливість обнюхування журналу веб-сервера як за помилки сервера, так і за відсутністю нових записів у журналі в певний період часу. Це не спричинить навантаження на сервер, але викликати сповіщення на основі цього - це завдання :)