Сайт может перестать корректно работать
Часть функционала сайта перестанет работать. Мы не сможем хранить персональные настройки и рекомендации.
Для полноценной работы всего сайта рекомендуем принять все cookie или выполнить настройку.
Отклонить
Настроить
Принять соглашение

Нагрузка на сайты растет: как подготовить проект к высокому сезону

Нагрузка на сайты растет: как подготовить проект к высокому сезону
Предоставлено партнером материала.
Предоставлено партнером материала.

Осенью посещаемость сайтов обычно начинает расти. Для бизнеса дело за малым – сделать так, чтобы интернет-ресурс при этом работал бесперебойно и быстро. Мы проанализировали сотни обращений в нашу техническую поддержку и сделали объективный рейтинг причин недоступности сайтов. Сегодня расскажем о них подробнее.

Нехватка ресурсов сервера – главная причина недоступности сайтов

По разным оценкам, 60–80% посетителей никогда не возвращаются на сайт, который не открывался или работал очень медленно.

И основная причина недоступности, по данным нашего исследования, – нехватка ресурсов сервера.

На втором месте – ошибки в работе самого веб-приложения, а замыкают тройку лидеров проблемы в конфигурации веб-сервера.

Какие именно процессы чаще всего «съедают» ресурсы:

  • базы данных (чаще всего MySQL);
  • исполнение кода (в лидерах PHP и Python);
  • веб-сервер (как правило, Nginx, реже Apache);
  • системные процессы и службы.

Отдельно стоит сказать пару слов о бот-трафике, который также способен создать избыточную нагрузку, а порой это его основная функция.

По данным анализа работы нашего инструмента защиты hoster Guard, в среднем на каждый сайт поступает 2 запроса от бота в секунду. Да, кажется невероятным, но в этом году трафик, сгенерированный людьми, впервые в истории уступил запросам от роботов. При этом более трети всего трафика создается именно вредоносными ботами.

Как оптимизировать работу веб-ресурса

  1. Настройте кэширование. Это поможет снизить нагрузку на сервер и ускорить работу проекта, поскольку системе не нужно будет каждый раз заново генерировать один и тот же контент. Например, кэширование страниц сайта и отдельных фрагментов можно настроить прямо на уровне веб-сервера с помощью Nginx. А такие решения, как Redis и Memcached, помогут приложению работать еще шустрее за счет быстрого доступа к часто используемым данным.
  2. Оптимизируйте работу баз данных. Здесь в первую очередь стоит упомянуть горизонтальное масштабирование (репликацию), оптимизацию и минимизацию запросов. Подробнее об этих методах с примерами можно почитать в нашем блоге.
  3. Оптимизируйте работу приложения на уровне интерфейса и бэкенда. Здесь мы подробно описали, для чего нужны асинхронность, профилирование и lazy loading.
  4. Позаботьтесь об инфраструктуре и инструментах защиты. Здесь остановимся подробнее и сфокусируемся на потребностях проектов и интернет-магазинов с достаточно высокой или переменной нагрузкой, чтобы было о чем подумать до периода распродаж.

Как подготовить инфраструктуру к повышенным нагрузкам

Переносите проект в облако и убедитесь, что используете там производительные NVMe-диски. Если вы сторонник выделенных серверов, лучше позаботиться о резервном железе: дополнительном сервере или кластере.

Мы рекомендуем именно облачные серверы, поскольку только такое решение позволит вам гибко менять мощности, адаптируясь к текущим потребностям вашего ресурса. Например, увеличить мощность на дни распродаж, а потом снова вернуть показатели к рабочим значениям. Или, например, создать новый сервер на несколько дней или даже часов, что позволяет сильно экономить и не тратить драгоценное время на настройки.

Настройте балансировку трафика, чтобы снизить нагрузку на систему. Это можно сделать при помощи haproxy, nginx, облачного маршрутизатора и других решений. Балансировку обеспечит и сервис комплексной защиты hoster Guard, о котором подробнее расскажем дальше.

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

Для мониторинга всей инфраструктуры существует множество решений: например, Prometheus в связке с Grafana, Nagios, Monitorix, CloudWatch, Stackdriver и другие. Если потребуется помощь с их настройкой, наши специалисты всегда помогут с этим.

Позаботьтесь о резервных копиях. Банально, но вынуждены повторить: позаботьтесь о резервных копиях. Именно от них будет многое зависеть, если, несмотря на все старания, что-то пойдет не по плану. Не станем вдаваться в тонкости, потому что тут многое зависит от специфики вашего проекта, но хотя бы помните о правиле «3-2-1»: у ваших данных должны быть по меньшей мере три копии на двух разных носителях, один из которых будет находиться вне вашей основной инфраструктуры.

Настройте комплексную защиту. Высокий сезон – традиционный пик волны киберпреступлений, в том числе взломов и DDoS-атак. На эту тему можно написать отдельный огромный материал, но давайте хотя бы кратко. Помимо упомянутых угроз, стоит подумать о защите от SQL-инъекций и XSS с помощью WAF или Web Application Firewall. А также от вредоносных ботов и скриптов, например через ограничение числа запросов с одного IP.

К слову, существуют комплексные инструменты защиты от всех этих типов угроз. В среднем hoster Guard ежедневно блокирует без малого 400 000 нежелательных и потенциально опасных запросов на каждом веб-ресурсе, который находится под его охраной. Около половины из них приходится на вредоносный бот-трафик.

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

*Партнерский материал. ООО «Надежные программы», УНП 100160363

Если вы заметили ошибку в тексте новости, пожалуйста, выделите её и нажмите Ctrl+Enter
Оцените статью:
Оформление заявки
Оставьте заявку и получите:
Отправить заявку
Оставьте заявку и получите:
Отправить заявку
Оформление заявки
Оставьте заявку и получите:
Отправить заявку