Как узнать сколько ресурсов использует сайт?

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

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

Как узнать превышает ли сайт сайт допустимые лимиты?

1. Начнем с занимаемого места. Проверить не исчерпан ли лимит дискового пространства и не превышен ли максимально допустимый размер баз данных можно на вкладке «Главная» панели хостинга в соответствующих подразделах.

Главная страница ISPmanager

В данном примере превышения данных лимитов нет.

Размер конкретной папки можно проверить через раздел «Статистика» — «Использование диска».

Использование диска

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

2. Теперь обратим внимание на оперативную память, нагрузку на процессор и прочие подобные ограничения. Перейдем в раздел «Статистика» — «Ограничения Cloudlinux». Обратите внимание, что приведенные ниже данные относятся к аккаунту целиком, т.е. если у вас несколько сайтов, то ограничения показываются суммарно для всех сайтов на аккаунте.

В выпадающем списке выберем период, за который мы хотим сформировать отчет и нажмем «Ок».

Статистика

3. В первую очередь обращаем внимание на раздел «Отказы при превышении лимитов», который как раз идет самым первым. Замеченные сервером ошибки в работе сайтов из-за израсходованного лимита будут показаны здесь.

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

Статистика

Статистика

Пример страницы со статистикой за неделю:

Статистика

4. Прокрутив страницу ниже, можно посмотреть отдельные  графики по следующими типам лимитов:

  • нагрузка на процессор (пункт «Использование процессора»)
  • потребление оперативной памяти (пункт «Физическая память»)
  • нагрузка на файловую систему, диск (пункт «Использование ввода/вывода»)
  • количество одновременных соединений к сайту (пункт «Одновременных соединений (Entry Processes)»)
  • общее количество процессов (пункт «Общее количество процессов»).

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

Статистика

На втором скриншоте — ситуацию с нормальным количеством процессов на услуге хостинга.

Статистика

Как избежать превышения лимитов на хостинг?

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

Можно лишь дать общие рекомендации:

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

Для Wordpress и Битрикс хорошим вариантом будет перевод запуска внутренних служебных зданий (WP-cron и агентов соответственно) с хитов на планировщик панели.

Рекомендации для баз данных:

  1. Следить за размерами таблиц и периодически очищать данные, не являющиеся необходимыми для работы сайта (к примеру старые ревизии страниц, поисковые запросы на сайте, историю его посещений и т.д.). Саму очистку желательно проводить через админ-панель сайта, если такая возможность в используемой CMS есть.
  2. Проверить используются ли индексы, если нет, то добавить
  3. Искать запросы к базе, которые долго выполняются и пытаться их оптимизировать.

Заблокировать роботов

Поверьте журналы посещений сайтов (access.log). Найти их можно в панели хостинга в разделе «WWW» — «WWW-журналы»

Журналы запросов

Если в данном разделе файлов журналов нет, то их нужно включить в настройках WWW-домена.

Включение журнала запросов

7. В журналах ищем, были  запросы от ботов парсеров вроде SemrushBot, DotBot и им подобных, примеры:
185.191.171.10 - - [08/Sep/2021:08:54:00 +0300] "GET /robots.txt HTTP/1.0" 301 - "-""Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html)"
185.191.171.10 - - [08/Sep/2021:08:54:01 +0300] "GET /robots.txt/ HTTP/1.0" 200 103808 "-""Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html)"
185.191.171.18 - - [08/Sep/2021:08:54:02 +0300] "GET /?p=1004 HTTP/1.0" 200 52727 "-""Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html)"
216.244.66.240 - - [08/Sep/2021:08:54:31 +0300] "GET /?p=2951 HTTP/1.0" 200 47157 "-""Mozilla/5.0 (compatible; DotBot/1.2; +https://opensiteexplorer.org/dotbot; help@moz.com)"
144.76.118.82 - - [08/Sep/2021:07:35:46 +0300] "GET /category/apple/page/3 HTTP/1.0" 200 71418 "-""Mozilla/5.0 (compatible; MJ12bot/v1.4.8; http://mj12bot.com/)"
144.76.118.82 - - [08/Sep/2021:07:35:51 +0300] "GET /category/apple/page/4 HTTP/1.0" 200 70964 "-""Mozilla/5.0 (compatible; MJ12bot/v1.4.8; http://mj12bot.com/)"

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

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

Если идет множество запросов к админ-панели сайта, а в случае с Wordpress ещё и к xmlrpc.php, то вероятно, что это брутфорс (попытка подбора пароля к сайту). В этому случае нужно использовать защитные плагины, либо установить дополнительную авторизацию на админ-панель через файлы htaccess и htpasswd или функцию «Доступ» панели хостинга.

Доступ

Примеры подобных запросов:
178.128.122.163 - - [14/Sep/2021:18:49:40 +0300] "POST //xmlrpc.php HTTP/1.0" 200 439 "-""Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4240.193 Safari/537.36"
178.128.122.163 - - [14/Sep/2021:18:49:40 +0300] "POST //xmlrpc.php HTTP/1.0" 200 439 "-""Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4240.193 Safari/537.36"
178.128.122.163 - - [14/Sep/2021:18:49:40 +0300] "POST //xmlrpc.php HTTP/1.0" 200 439 "-""Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4240.193 Safari/537.36"
178.128.122.163 - - [14/Sep/2021:18:49:41 +0300] "POST //xmlrpc.php HTTP/1.0" 200 439 "-""Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4240.193 Safari/537.36"
178.128.122.163 - - [14/Sep/2021:18:49:41 +0300] "POST //xmlrpc.php HTTP/1.0" 200 439 "-""Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4240.193 Safari/537.36"

Если вы столкнулись с проблемой превышения ресурсов и не знаете как её решить — свяжитесь с нашей службой поддержки, вам обязательно помогут.

Принимаем
Все способы