Снижение нагрузки на сайт (хостинг)

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

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

Однако не нужно спешить с переездом на VDS, т.к. есть ряд мер, которые позволят снизить нагрузку и остаться на старом хостинге:

Мероприятия по снижению нагрузки:

1) Перед выполнением дальнейших пунктов обязательно делаем бэкап базы данных именно в панели хостинга!

2) Включаем кэширование запросов к базе данных

3) Проверяем, что на хостинге установлена версия PHP не ниже 7.2

4) В Яндекс Вебмастере и Google Search Console выставляем самую минимальную скорость обхода страниц сайта роботами.

Важные нюансы:

  • Изменения вступят в силу не моментально, а через 2-5 дней, поэтому сразу вы не увидите результата.
  • Поисковики будут примерно раз в 3 месяца увеличивать скорость обхода и значит надо будет опять заходить и ее снижать.

5) Отключить в админке в:

Настройки > Настройки каталога товаров

  • Варианты товаров в фильтре
  • Размер (вариант) в фильтре
  • Цвет (вариант) в фильтре
  • Выбрать "Нет" в поле "Проверять загружены ли изображения товаров со сторонних сайтов полностью"

также выставить:

  • Сортировать товары в каталоге по умолчанию по: порядку
  • Закончившиеся товары: скрыть или показывать
  • Товаров на странице сайта: 24

6) Стараться не использовать диапазонные фильтры в свойствах товаров либо свести их кол-во к минимуму 1-2

7) Не использовать безумную вложенность категорий - например 5 или даже 8 уровня. Сайт с продуманной навигацией как правило имеет подкатегории до 3-го уровня вложенности.

8) Уменьшить кол-во свойств товаров, показываемых в фильтре до реально необходимых

9) Если используете SMTP для отправки писем, то проверить правильно ли указаны настройки (в т.ч. не изменился ли логин-пароль от почты), нажав кнопку "Проверить соединение"

10) Отключить в админке в:

Настройки > Управление модулями

  • Выпадающее меню категорий товаров в шапке
  • Некритичные модули в левой колонке: "Записи блога", "Новинки", "Последние комментарии" и т.п.
  • Выбрать "нет" в поле "Разрешить подсчет кол-ва просмотров записей блога и статей"

11) Сжимаем изображения (некоторые владельцы сайтов умудряются использовать необработанные изображения, которые весят по несколько Мб)

Дополнительно:

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

13) Если у вас большая вложенность категорий (>2 уровня), то можно не прикреплять свойства к родительским категориям, а только ко вложенным. Чтобы пока пользователь не дойдет до вложенной категории не грузить базу данных лишними запросами.

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

Заодно этим исключаем локальные проблемы в ПО именно данного аккаунта хостинга.

15) Включаем в панели хостинга журнал доступа и при очередном всплеске нагрузки анализируем не идет ли с каких-то сайтов или ip подозрительно большого кол-ва запросов. И блокируем их. Главное не заблокировать роботов Яндекса и Гугла.

16) Если "скормили" файл выгрузки товаров в Яндекс Маркет (YML) каким-либо сервисам, то рекомендуется для снижения нагрузки генерировать статичные файлы выгрузки и использовать их вместо динамических в этих сервисах, а в неактуальных сервисах - удалить совсем.

Инструкция по настройке генерации статичных файлов находится в админке:

Настройки > Настройки каталога товаров : Яндекс Маркет

17) Аналогично рекомендуется использовать статичный файл sitemap.xml (инструкция в подсказках в админке - правый верхний угол - зеленый знак вопроса)

UPD: обновлено 24.10.2021

Еще нет своего сайта? Создайте интернет-магазин на платформе 5CMS - Все для продаж уже внутри!

Рекомендуем прочитать