Прокачайте ваш онбординг
с навигатором интерфейсов Experrto
Выберите категорию

Проверяем нагрузку на сайт и повышаем его отказоустойчивость

Нагрузка на сайт — измеряемая в процентах величина, позволяющая оценить уровень использования ресурсов сервера в процессе реализации задач. Как известно, сервер располагает ограниченными ресурсами. Для выполнения любого алгоритма привлекаются незадействованные ресурсы сервера, к которым относятся объем памяти, процессор оборудования, дисковая система. Разные задачи могут использовать максимум и минимум ресурсов — от 1% до 70%. Одновременно используется и некоторый объем оперативной памяти, также может фиксироваться повышение и понижение активности в дисковой системе.

Процент потребления ресурсов сервера — и есть нагрузка сайта.

Если не контролировать данный параметр, то о превышении допустимой нагрузки на сайт вы все равно узнаете — уведомление придет от хостера. Только хостер не является вашим аудитором. Скорее, наоборот — за максимально допустимое превышение величины он в одностороннем порядке заблокирует доступ к площадке.

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

А самое главное — контролируя и снижая нагрузку на сервер, создаваемую сайтом, вы минимизируете траты на услуги хостинга.

Так выглядит статистика хостинга в случае повышенной нагрузки на сервер. Источник: alexandrshikhov.ru.

Правда о входящем маркетинге

Причины снижения отказоустойчивости сайта

Используется не подходящий сайту эконом-тариф. Выбранный тарифный план не в состоянии удовлетворить потребности ресурса. Если площадка становится популярной, она привлекает все больше посетителей. Чтобы не ошибиться, достаточно проанализировать среднесуточные показатели нагрузки на сайт и в случае их роста сменить тарифный план на более подходящий, сообщив об этом своему хостеру.

Серверная нагрузка может возрасти из-за неожиданного роста трафика, чаще всего это происходит в случаях непрогнозируемого вывода в топ выдачи поисковиков высокочастотного запроса. Нередко этому способствуют внешние факторы, такие как телевизионная передача по схожей тематике, катаклизмы или сезонность. Еще причина резкого роста посещаемости на сайте — на каком-либо крупном ресурсе дали активную ссылку на вас. Реагируя на повышение нагрузки сайта на сервер, хостер кратковременно ограничивает доступ к площадке и ставит заглушку о блокировке. Для быстрого решения проблемы достаточно опять же перейти на более дорогой тариф или сменить сервер.

Отказоустойчивость сайта снижается, если страницы портала активно исследуются роботами от поисковых систем. Это легко исправить, разместив в корневом каталоге площадки файл robots.txt. Таким образом вы можете ограничить перечень URL страниц, нуждающихся в индексировании. Это же позволит выборочно запретить обход поисковых систем нерелевантных страниц, а также выбрать боты (по именам), для которых доступ для обхода сайта будет полностью закрыт. Если какой-то каталог сайта должен быть исключен из индекса (к примеру, архивные каталоги, фотогалереи, списки пользователей и др.), это так же легко настраивается: укажите в файле робота объект, и он станет невидимым для него.

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

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

Нагрузка может вырасти, если ваши разработчики скриптов модифицировали исходный код без оглядки на быстродействие сайта. И ваш индивидуальный заказ на скрипты привел к использованию неоптимизированного продукта. Снизить процессорную нагрузку можно, обратившись к своим разработчикам с требованием устранить проблему. Второй и третий варианты решения проблемы — сменить тариф на более дорогой и отказаться от скрипта.

 

Статистика DDoS-атак с применением ботнетов в последнем квартале 2015 и первом квартале 2015. Источник: securelist.ru/blog (Лаборатория Касперского).

Ценообразование в интернет-магазине

Как рассчитывается нагрузка

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

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

Проверка нагрузки на сайт начинается с анализа. Чтобы установить причины снижения отказоустойчивости сайта, достаточно заглянуть в логи, изучить статистику по количеству посетителей, выполненным запросам, запущенным скриптам. Оцените площадку на предмет зацикливаний, не проявляли ли повышенную активность избранные пользователи и т.д.

Еще один способ оценить нагрузку — провести аудит кода, досконально изучить алгоритмы генерации страниц и заняться отладкой медленных мест.

Если опыта не хватает, можно доверить процесс проверки сайта специальным онлайн-сервисам. Их в Интернете довольно много — с разным функционалом и разными тарифами. Есть и бесплатные.

Шрифты для онлайн-проекта: заплатить или сэкономить?

Сервисы нагрузочного тестирования сайтов

Онлайн-сервисы для оценки и тестирования доступности сайтов — довольно удобное изобретение. Достаточно ввести в специальное поле адрес портала и нажать «Проверить».

Loadimpact.com — сервис предоставляет возможность бесплатного тестирования сайта на 50 соединений, остальной функционал и большая нагрузка — платно.

Alertra.com — предоставляет бесплатную возможность проверить доступность сайта из десятка разных мест.

Site24x7.com — аналогичный предыдущему. Но используются 23 географические точки для проверки.

Builtwith.com — сообщит все о заданном для проверки сайте.

Onlinewebcheck.com — анализирует и предлагает подробные рекомендации по устранению ошибок на сайте.

Tools.pingdom.com — тестирует скорость загрузки каждого элемента сайта: images, frames, JavaScripts, RSS, CSS, Flash. Результат сообщается в секундах.

Pagescoring.com — тоже оценивает результат каждого объекта на сайте по отдельности и выводит среднюю величину.

Webtoolhub.com — после проверки сервис дает рекомендации: если скорость загрузки веб-сайта занимает более 8 секунд, то пора заняться оптимизацией содержимого площадки. Тестирование не включает оценку времени загрузки изображений, видео и других графических элементов на сайте.

Rapid.searchmetrics.com — выводится итоговая таблица с результатами мониторинга загрузки и дается подробная разбивка по каждому объекту (CSS, JavaScript и Images).

Gtmetrix.com — развернутый отчет по загрузке в разных странах мира. Информация представлена детально для оценки пользователя.

Sitespeed.me/ru — русскоязычный сервис быстрой проверки. За несколько секунд можно получить главную информацию: врем загрузки, размер объекта и скорость.

Webpagetest.org — результат тестирования сайта отображается в виде подробного графика с разверсткой по каждому объекту.

Таблицы и графики с результатом тестирования сервисом Webpagetest.org.

В сети можно найти еще множество сервисов с разными опциями. Выбор не ограничивается приведенным в статье списком.

Минимизируйте когнитивную нагрузку для оптимизации юзабилити и конверсии лендинг пейдж

Как уменьшить нагрузку на сайт

Предпринимать что-либо следует только после детального нагрузочного тестирования и оценки причин возникновения проблемы. В зависимости от результата теста и первопричины, способы повышения отказоустойчивости веб-портала могут существенно различаться.

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

Повышенную нагрузку нередко провоцирует неэффективная логика запросов mysql в скрипте. Изучите документацию и способы обработки баз данных и минимизируйте количество запросов. Займитесь и оптимизацией скриптов на сайте.

Нельзя игнорировать применение и настройки robots.txt. Следите за оповещениями от Google и Yandex, в которых предупреждается о возможном взломе вашего сайта.

Также следует позаботиться о реорганизации сайта: редизайне; выстраивании навигации; объеме, количестве и формате картинок; структурировании и иерархии при публикации информации.

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

Выяснив причину и устранив ее, отказоустойчивость можно повысить на 20-90%. Применение известных методов позволит превратить площадку во всегда доступный, быстрозагружаемый сайт.

Image source: Marie Therese Magnan

Прокачайте ваш онбординг
с навигатором интерфейсов Experrto