Что сделать, чтобы сайт не падал?

640 0

5 мифов и 5 фактов о мониторинге сайтов и серверов

Есть два типа людей – которые уже делают мониторинг

своего веб-сервиса, и которые скоро начнут это делать.

Интернет-индустрия развивается стремительными шагами. Если всего десять лет назад посетители были бы рады любому сайту, который у вас есть, то сейчас их требования стремительно возросли. Сайт должен полностью прогружаться за 1-3 секунды, интерактивные функции должны работать “мгновенно”, не должно быть никаких ошибок функционала.

Коммерческие веб-сайты теряют $2,79 млрд. ежегодно

из-за сбоев и медленной загрузки страниц.

Крупнейшая поисковая система Google, которая наверняка является одним из важных источников ваших клиентов, также реагирует на тренд интересов пользователей и снижает позиции вашего сайта, если тот открывается слишком медленно или бывает недоступен.

74% пользователей не завершают заказ,

если встречают на сайте хотя бы одну ошибку функционала.

Стабильность и бесперебойность работы сайта зависят от множества внутренних факторов, таких как системные процессы (веб-сервер, база данных, почтовые службы), доступные ресурсы (свободная память, дисковое пространство) и корректность работы всех функций.


К корректности работы функций относятся как видимые невооружённым взглядом функции (поиск по сайту, заказ продукции), так и внутренние функции CMS — обработка заказов, выставление счетов, уведомления клиентов и партнёров.

Всё это накладывает дополнительные обязательства на любую компанию, чей бизнес в значительной степени полагается на Интернет, а особенно если коммерческий сайт расположен на VDS или выделенном сервере.

Обеспечению бесперебойной работы сайта (и сервера) служат внешние мониторинговые службы. В этой статье мы с вами разрушим 5 мифов о мониторинге и раскроем 5 фактов, которые нужно знать любому кто владеет достаточно серьёзным бизнесом в онлайне.

Миф 1: Нам не нужен мониторинг, у нас и так всё работает.

Вам пока везёт. У вас ещё ни разу не падал сайт во время вашего выступления на конференции. У вас нерадивые сотрудники случайно не удаляли важный контент. У вас не пропадал файл главной презентации продукта, о чём вы узнавали через неделю от своих инвесторов. У вас не возникало ошибок программного обеспечения (“движка”) сайта, в результате которых на экран высыпались диагностические сообщения и всё переставало работать.

Миф 2: У нас есть системный администратор.

Раскрою секрет – абсолютное большинство системных администраторов, даже если они работают в вашем офисе (а не удалённо), не следят круглосуточно за отслеживанием ситуации на ваших серверах. Ведь “обычно всё работает” (см. миф 1), а когда перестанет – вы ведь сразу им позвоните. Однако подумайте, что вы услышите в ответ на звонок сисадмину в 9 утра воскресенья после его бессонной ночи с заболевшим маленьким ребёнком. Думаю, вы сможете пополнить ваш лексический запас. А какие блага вам придётся сулить, упрашивая чтобы кто-то остался трезвым на новогодние каникулы?

Миф 3: У нас достаточно мощный сервер, и он не падает.

Рад за вас, что вы можете тратить многократно больше денег на “железо”, чем это требуется. Возможно, благодаря избыточной мощности вы защищены от ddos-атак. Однако, никакое “железо” не спасёт вас от таких банальных вещей как ошибки в программном обеспечении сайта или переполнение жёсткого диска. Если вам не доводилось видеть, как журнал ошибок возрастает до 600 гигабайт буквально за минуты – и “забивает” всё свободное место – то у вас ещё всё впереди.

Миф 4: У нас за сервер отвечает хостер.

Безусловно, хостер скорее всего обнаружит, что ваш сервер упал, и направит вам уведомление. Однако реальность состоит в том, что между нормальной работой и “уже упал” есть бесконечное число градаций, а проблемы развиваются по нарастающей. Сначала откажет часть какого-либо внутреннего функционала вашей CMS, затем начнёт притормаживать база данных (например, на функциях заказа ваших продуктов), затем часть страниц с “динамическими” блоками перестанет открываться по таймауту (видели 504 Gateway Timeout? – это оно).

Затем переполнится допустимое число соединений с БД, на страницах начнут “высыпаться” ошибки, и большинство страниц и функций сайта перестанут работать вообще. При этом главная страница, особенно если она у вас технически оптимизирована под нагрузку (её часто оптимизируют, так как на неё приходит больше всего трафика), честно останется жить до конца. А ведь большинство популярных сервисов мониторинга будет отслеживать только основной адрес вашего сайта – главную страницу, ведь они не могут извне получить доступ и узнать что происходит “внутри” вашего сервера.

Когда сервер упадёт, хостер предложит вам перезагрузить его, а в случае физической неисправности – подождать 2-3 дня для замены. У хостеров как правило нет в резерве большого выбора серверов, и нужно время чтобы их переарендовать. Однако с причинами и последствиями падения вам придётся разбираться самостоятельно, и тратить дополнительные деньги на восстановление всего функционала, миграцию на новый сервер, восстановление трафика, разъяснения с клиентами и партнерами и т.д.
Миф 5: У нас облако, мы пользуемся облачным сервисом.

7 августа в 21:13 молния ударила в трансформатор датацентра Amazon в Ирландии, что привело к его полному отключению.

7 сентября в 00:05 по московскому времени датацентр Hetzner сообщил, что его магистральный кабель повреждён в ходе экскаваторных работ. Восстановление заняло несколько дней, всё это время сайты всех компаний в этом датацентре фактически не работали.

Этот список можно продолжить. Следует помнить, что за красивыми словами об “облаках” скрываются всё те же самые сервера, каналы, маршрутизаторы и люди. Оцените вероятность ущерба, особенно если вы (как в мифе 4) полагаетесь на своего хостера. Реальность состоит в том, что сайты и сервера “падают”, это факт, и владельцу бизнеса нужно понимать как предотвратить такую угрозу.

Однако не всё так печально. К счастью, всё уже давно придумано до нас, и остаётся лишь воспользоваться готовыми решениями.

Вот факты, которые вам нужно знать:

Факт 1: Мониторить можно и нужно не только сам факт загрузки главной страницы.

Следует мониторить скорость её загрузки, контент, наличие необходимых слов в тексте и отсутствие сообщений об ошибках. Также можно и нужно мониторить особо ресурсоемкие (например фильтр по каталогу) или особо важные для бизнеса страницы (например форму заказа). Современные решения позволяют отслеживать, например, факт нарастания времени загрузки – и сигнализировать об этом.

Для сайтов с активным использованием AJAX следует пользоваться особым мониторингом времени загрузки, который не просто фиксирует время загрузки HTML-кода, а подсчитывает время полной “прорисовки” страницы со всеми визуальными эффектами.

Факт 2: Для полноценного мониторинга не требуются дорогие или громоздкие решения.

Одна латвийская компания предлагает решение “под ключ” за 800 евро. Однако следует знать, что стоимость услуг аналогичных saas-сервисов не превышает расходов на вечерние покупки в продуктовом магазине, и соизмерима с заправкой автомобиля бензином на неделю. Вам не потребуется арендовать отдельный сервер для мониторинга и проводить сложные технические настройки — вы получите сервис как готовую услугу.

Факт 3: Вы можете, и вам даже необходимо мониторить не только “внешний вид”, но и процессы, происходящие “внутри” вашего сервера.

Именно автоматическое отслеживание ситуации внутри сервера может дать сигнал о начале проблемы за какое-то время до того, как она приведёт к фатальным ошибкам вашего сервиса, – что даст вам (или вашим сотрудникам) время чтобы прореагировать и исправить её. В то время как другие компании реагируют только по факту обнаружения видимой невооружённым глазом проблемы (“сайт упал!”), вы сможете предотвратить угрозу задолго до её развития.

Как сторонний мониторинг может узнать, что происходит внутри вашего сервера? Очень просто: на сервер устанавливается небольшая программа (“агент”), которая потребляет лишь доли процента ресурсов, однако успешно “снимает” несколько десятков или даже сотен показателей. С заданной периодичностью (например 30 секунд) информация отправляется в saas-службу мониторинга, который анализирует изменения и принимает решения о тех или иных действиях.

Администраторский доступ к серверу при этом никогда не выдаётся ни службе мониторинга, ни третьим лицам.

Факт 4: Не следует устанавливать систему мониторинга на тот же сервер, что и контролируемый сайт, иначе она упадёт вместе с ним или даже раньше.

Возможно она даже не успеет послать вам уведомление. В этом ключе особенно выгодно пользоваться saas-решениями, которые избавляют вас от необходимости аренды, настройки и содержания дополнительного сервера для службы мониторинга.

Факт 5: Мониторинг – это бизнес-процесс.

Не следует относиться к мониторингу как к простой системе уведомлений одного человека (вас) о проблемах на сервере. В конце концов, вы можете не быть техническим специалистом, вы можете спать или быть в отпуске, вы можете заниматься другими важными делами. Профессиональная служба мониторинга подразумевает не просто уведомление о проблемах, но и ступенчатую эскалацию проблем, и даже автоматические действия – например отдачу команды на перезагрузку какого-либо процесса или всего сервера.

Эскалация – это настройка ступенчатых уведомлений, которая например сначала уведомляет дежурного системного администратора, затем (в случае если проблема не решается) через некоторое время отправляет сообщение его начальнику, а если и это не поможет – другим людям в вашей компании или лично вам. В качестве последней меры система мониторинга может сама отдать запрограммированную команду, которая выполнится на вашем сервере – например, чтобы обнулить логи и содержимое временной директории, перезапустить зависший процесс, или перезагрузить сервер целиком.

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.