Что такое процессорная нагрузка на сайт
Если вы получили уведомление о превышении лимита на использование CPU, это означает, что потребление CPU вашим аккаунтом превысило суточную норму. При превышении лимита нагрузки на CPU более чем на 3% от максимально установленного значения на тарифном плане и больше 4 раз за последние 7 дней, на хостинг накладывается блокировка.
Нагрузка CPU учитывается для всей услуги хостинга (всех добавленных сайтов). Самые посещаемые сайты оказывают наибольшую нагрузку на CPU.
Для получения доступа к сайту введите:
логин: regru
пароль: regru
Далее вам необходимо выполнить рекомендации по решению проблемы, которые описаны ниже. После этого вы можете самостоятельно снять блокировку по инструкции.
Итоги
Важен не выбор инструмента, а последующие действия, устраняющие избыточную нагрузку на процессор (опять же, если она есть) и стабилизирующие работу сайта.
Нагрузка на CPU — это время в минутах, суммарно затраченное процессорами сервера на обработку процессов аккаунта в течение суток. Показатель является суммируемым, то есть при стабильной нагрузке в 2 cp (cpu points) в течение 24 часов, нагрузка за сутки составит 24*2=48 cp. Нагрузка на CPU измеряется стандартной утилитой Unix — sa. Подробное описание работы данной утилиты вы можете найти, например, здесь. В статистику за день заносится суммарное накопленное за сутки значение нагрузки в процессорных минутах.
Нагрузка на MySQL — это время в секундах, суммарно затраченное на обработку запросов к базам данных аккаунта в течение суток. Нагрузка на MySQL измеряется при помощи специального модуля от Percona, входящего в используемую нами сборку MySQL. Документация о продукте доступна на сайте разработчика.
Отображение нагрузки в ПУ
На графиках в панели управления (раздел «Нагрузка на сервер») можно увидеть динамику нагрузки за последние 2 часа / 24 часа / 30 дней. Превышение лимита отрисовывается на графике желтым цветом.
Обратите внимание, что суточные превышения будут отображены только на графике «30 дней»; на графиках за 2 и 24 часа превышений видно не будет (если, конечно, суточный лимит нагрузки не был превышен за 15 минут или 1 час соответственно).
Как подсчитывается нагрузка на CPU
Нагрузка на CPU считается как время, которое тратит процессор сервера на обработку процессов пользователей. Какие при этом происходят процессы неизвестно. Однако их можно понять по логам веб-сервера (Apache). В них вы найдете дату, время, название процесса и кол-во тактов, которые потратил процессор на работу этого процесса.
Для WordPress максимальную нагрузку могут создавать:
- экспорт и импорт БД (резервное копирование);
- пиковая посещаемость сайта;
- не оптимизированная БД;
- невалидный программный код скрипта;
- попытки взлома;
- неправильно написанные плагины.
Существенный рост посещаемости проекта
С развитием сайта рост его посещаемости является закономерным явлением, и рано или поздно сайту действительно может стать тесно на текущем тарифном плане. Это нормально для развивающихся проектов. В большинстве случаев на обычном виртуальном хостинге для динамических сайтов порогом посещаемости является цифра в 2000-4000 уникальных посетителей в сутки.
Если посещаемость вашего сайта близка к этим цифрам, то переход на VDS или выделенный сервер будет правильным решением, которое положительно скажется на его дальнейшем развитии. Кроме того, справится с повышенным объемом трафика поможет балансировщик сетевой нагрузки.
Где посмотреть нагрузку на CPU?
В панели управления вашего хостинга должен быть раздел: Статистика CPU, Нагрузка и т. п. В этом разделе будут данные, скорее в виде графика, с указанием суточного лимита и нагрузкой вашего сайта (посуточно, еженедельно, по месяцам). Пример такого графика на фото.
Текстовые утилиты для проверки нагрузки
Если доступа к панели хостинга нет, данные о процессоре можно подглядеть в самой системе с помощью специальных приложений в терминале Linux.
Только перед началом работы с ними, надо подключиться к серверу с помощью SSH-протокола.
В macOS и Linux это делается через терминал. Открываем командную строку и вводим в нее ssh root@адрес сервера. В Windows сначала надо скачать программу PuTTY, запустить ее, найти внутри поле IP-адреса, указать в нем адрес сервера, а потом нажать ОК.
В обоих случаях нужно будет авторизоваться, используя пароль администратора, а дальнейшие команды выполнять через консоль SSH. Так что стоит ознакомиться с базовыми принципами работы терминала Linux перед началом.
IP-адрес можно разыскать в панели управления провайдера либо спросить у техподдержки. А пароль хостинг высылает на почту сразу после аренды VDS/VPS.
Команда top выводит в терминал Linux информацию о процессоре сервера в реальном времени. Данные обновляются каждые 5 секунд.
top показывает уровень нагрузки в процентах (поле %CPU) для каждого запущенного приложения.
Чтобы вывести статистику на экран, надо ввести в консоль top без дополнительных вводных. Появится некий аналог менеджера задач в текстовом облике. Но информацию на экране можно менять, используя горячие клавиши для управления утилитой:
- P — отсортирует выполняемые задачи по уровню нагрузки на CPU.
- M — отсортирует процессы по уровню затрачиваемой ОЗУ.
- N — по имени запущенных процессов.
- T — по времени выполнения задачи с момента последнего запуска.
- U — покажет программы, запущенные конкретным пользователем.
Вывод top можно упростить, удалив из него простаивающее процессы. Так можно сосредоточить внимание только на активных задачах, потребляющих ресурсы в моменте. Для этого команду надо слегка усложнить, добавив в конце опцию -i.
iostat
Еще одна встроенная в Linux системная утилита, отображающая статистические показатели «железа».
По умолчанию iostat отображает данные о работе устройств ввода и вывода, а также степень загруженности центрального процессора. Для анализа берутся данные на момент запуска утилиты в сравнении со среднестатистическими.
Чтобы получить данные конкретно о CPU, надо дополнить команду аргументом -c.
В отчете iostat уровень нагрузки на чип показывается в процентах для каждой запущенной программы и делится на несколько категорий.
- user — процессы, запущенные от имени пользователя.
- nice — то же, только с измененным приоритетом.
- system — процессы, напрямую связанные с операционной системой.
- idle — время в простое.
Команду можно модифицировать, указав дополнительные опции, корректирующие вывод в консоль.
Можно добавить интервал, прописав в конце количество раз, которое iostat должен вывести отчет, и периодичность этой операции. Также можно изменить формат отображения затрачиваемых ресурсов или показать расширенную статистику.
vmstat
По умолчанию эта команда Linux выводит в консоль информацию о состоянии виртуальной памяти. Но через нее можно добыть данные и о других компонентах операционной системы. Степень загруженности CPU в их числе.
vmstat как и top попеременно обновляет данные. Интервал обновления зависит от указанных опций. Например, чтобы получать свежий отчет vmstat каждые 5 секунд, надо ввести в терминал команду vmstat 5. Добавив еще одну цифру, можно указать количество отчетов.
Вывод утилиты содержит в себе несколько колонок. Последние 5 отображают информацию о процессоре (обведены в графу CPU):
- us — процент нагрузки со стороны несистемных задач, то есть тех, что запустил пользователь.
- sy — системная нагрузка на уровне ядра.
- id — время, которое процессор проводит в ожидании, не выполняя никаких задач.
- wa — время, затраченное чипом на ожидание ввода или вывода данных.
- st — процент нагрузки со стороны виртуальной машины.
Почему нагрузка на CPU должна контролироваться?
Если вы не получаете письма от хостинга и ваш сайт не блокируют, то вам не нужно каждый день следить за нагрузкой. Хостинг всё сделает за вас. Однако раз в месяц нагрузку стоит просматривать, чтобы выявлять пиковые нагрузки и их причины. Вполне возможно, что ваш сайт пытались взломать или уже взломали.
Нагрузка на CPU и (или) дисковую систему от веб-сервера Apache
Излишняя нагрузка может создаваться веб-сервером Apache при отдаче сайтом большого количества графики и другой статики. Архитектура Apache устроена таким образом, что одним потоком или процессом обрабатывается только один запрос. Соответственно, если на вашем сайте очень много графической информации, то на ее отдачу будет тратиться неоправданно большое число ресурсов процессора и ОЗУ. Существенной также будет и нагрузка на диск сервера.
В этом случае можно использовать веб-сервер Nginx в качестве front-end к Apache. Nginx за счет асинхронной архитектуры позволяет обрабатывать тысячи соединений в рамках одного процесса и отдает статику гораздо легче и быстрее. Проблема лишь в том, что на многих хостингах в качестве веб-сервера используется только Apache, а связка Nginx+Apaсhe используется довольно редко . Тем не менее при переходе на VPS можно настроить данную связку без проблем. Обычно перенос сайтов на VPS с хостинга и настройку необходимого ПО может выполнить ваш хостинг-провайдер даже без дополнительной оплаты.
Сторонние текстовые утилиты
Встроенные приложения для анализа системы покрывают базовые требования вебмастеров, но могут оказаться недостаточно эффективными для тех, кому нужна расширенная статистика и дополнительная функциональность.
Благо независимые разработчики создали с десяток инструментов для сбора статистики по нагрузке на процессор сервера. Большая их часть так же, как и встроенные приложения для мониторинга, представлена в виде текстовых утилит, запускающихся через терминал. Правда, перед использованием их нужно загрузить из подключенных к системе репозиториев.
Для этого нужно запустить менеджер пакетов, введя соответствующую команду. Например, для установки пакета nmon нужно ввести:
В дистрибутиве Ubuntu / Debian
В дистрибутиве Fedora
В дистрибутиве Arch Linux
В дистрибутиве CentOS/RedHat Linux
Команда для установки: sudo название менеджера пакетов install nmon
У команды top есть своего рода старший брат — htop. Это модификация встроенной в Linux утилиты с расширенной функциональностью, настраиваемой статистикой и более наглядным интерфейсом.
Отображаемые в htop показатели поддаются тонкой настройке со стороны клиента. Можно удалить лишние данные, оставив только нагрузку CPU, а можно, наоборот, добавить больше показателей, если стандартных не хватает.
Внешний вид htop также можно адаптировать под свои вкусовые предпочтения. Выделить цветом запущенные процессы в зависимости от того, какое приложение отвечает за их работу, или просто раскрасить показатели эстетики ради.
Окно htop поддерживает работу в четерыхколоночном режиме. В каждой колонке можно отобразить статистику по каждому из ядер, установленных на вашем VDS. Вплоть до 128 ядер на одном экране с возможностью комфортно отслеживать нагрузку на все активные CPU.
Команда для установки: sudo название менеджера пакетов install nmon
Еще одна сторонняя утилита для системных администраторов, помогающая оценить общее состояние сервера. В отличие от htop, nmon содержит в себе меньшее количество функций и возможностей адаптации интерфейса под свои задачи.
У самой утилиты нет модификаторов запуска, она работает в одном режиме и запускается командой nmon.
Интерфейс nmon делится на три части:
- CPU Utilisation — в первой отображается нагрузка на процессор. Все ядра по списку, от 1 до последнего, и количество ресурсов, потребляемых пользователем, системой, а также находящихся в ожидании и в простое.
- CPU Utilisation Stats — статистические данные по тем же показателям, что отображаются в первой секции.
- Top Processes — список программ, отсортированный по степени «прожорливости» процессорных мощностей.
dstat
Команда для установки: sudo название менеджера пакетов install dstat
Если подход к отображению данных в вышеперечисленных утилитах почему-то не понравился, то стоит обратить внимание на альтернативу в виду dstat. В одном окне утилиты умещается больше информации, чем у аналогичных программ других разработчиков.
Показатели сервера в dstat распределены по колонкам. В первой отображается уровень нагрузки в процентах со стороны пользователя. Затем идет sys, то есть часть ресурсов, затрачиваемых системой и ее компонентами. После — простой.
Также в колонках можно найти название процесса, расходующего мощности чипа, информацию о работе оперативной памяти и накопителя (сколько данных было записано и сколько прочитано). Сетевые показатели тоже имеются.
Вывод команды dstat можно настроить под свои нужды с помощью опций. Например, чтобы отсортировать запущенные программы по нагрузке на чип и по количеству используемой в текущей момент ОЗУ, надо ввести:
mpstat
Команда для установки: sudo название менеджера пакетов install mpstat
Подходит тем, кто использует систему с несколькими процессорами. mpstat в удобоваримом виде показывает информацию по всем CPU.
В отличие от той же top, mpstat не показывает запущенные программы. В списке чередуются и нумеруются только установленные процессоры. Затем показывается, сколько ресурсов уходит на пользователя, сколько на систему, а сколько простаивает.
По умолчанию команда mpstat выводит данные по всем CPU сразу, но ее можно модифицировать:
- mpstat -P ALL — покажет информацию по действующим чипам.
- mpstat -P ALL 6 2 — покажет те же данные, но только дважды с периодичностью в 6 секунд. Для оценки нагрузки в динамике.
Подробнее с функциональностью mpstat можно ознакомиться, введя команду man mpstat.
Команда для установки: sudo название менеджера пакетов install sar
Утилита для мониторинга загруженности оборудования и формирования отчетов на основе полученных данных. Часто используются для сбора информации и последующей отправки ее на электронную почту системного администратора.
В отчет sar по умолчанию входят технические показатели устройств ввода и вывода, информация о работе виртуальной памяти (подкачка страниц), данные о прерванных операциях и о том, как используется оперативная память. Ну и степень загруженности процессора, конечно.
По умолчанию sar выводит на экран среднее значение по всем собираемым показателям. Вывод можно скорректировать опциями:
- sar 4 8 — покажет статистику 8 раз с периодичностью в 4 секунды (цифры можно указать любые).
- sar -u — добавляет в отображаемые данные все установленные в систему чипы.
- sar -P 4 4 2 — отображает данные по четвертому ядру 2 раза с интервалом в 4 секунды.
Для формирования отчетов используется команда:
Она в фоновом режиме соберет показатели системы. Потом распределит их по нескольким файлам в директории с другими отчетами.
corefreq
Многокомпонентная низкоуровневая утилита, включающая в себя одноименный модуль ядра, демон (программу, работающую в фоновом режиме) и текстовую утилиту для управления на стороне клиента. Модуль ядра получает полный доступ к серверу и выводит данные с помощью демона, который работает с привилегиями суперпользователя, получая больше данных, чем другие подобные приложения.
CoreFreq заточен для работы с современные 64-битными процессорами из серий Atom, Core2, Nehalem и аналогичными из семьи AMD.
Чтобы включить CoreFreq:
Открываем файл с параметрами загрузка:
Добавляем в него строку:
Обновляем параметры загрузчика и перезапускаем систему:
Загружаем утилиту с зависимостями:
Копируем CoreFreq с git:
Переходим в директорию с утилитой:
Устанавливаем модуль ядра:
Запускаем одноименный демон:
Включаем текстовую утилиту CoreFreq:
Лимиты нагрузки
По умолчанию суммарная нагрузка в день не должна превышать следующие показатели:
Тариф | Нагрузка на CPU | Нагрузка на MySQL |
---|---|---|
Year+ | 50 | 1000 |
Optimo+ | 300 | 5000 |
Century+ | 400 | 7000 |
Millennium+ | 600 | 10000 |
Eterno | 1000 | 15000 |
Premium | 3000 | 25000 |
1Сайт | 1000 | 15000 |
С дополнительной услугой «Увеличение лимита нагрузки» лимиты могут быть расширены до следующих показателей:
Нагрузка на MySQL
Лимиты по умолчанию:
- 50 cp на CPU , 1000 единиц на MySQL для обычного хостинга и тарифов «Старт» CMS-хостинга ;
- 150 ср на CPU, 2500 единиц на MySQL для мощного хостинга и тарифов «PRO» CMS-хостинга.
Лимиты с учетом максимально возможного увеличения:
110 cp на CPU, 2200 единиц на MySQL для обычного хостинга и тарифов «Старт» CMS-хостинга;
Динамика нагрузки на процессор за последние 7 дней
Как снизить нагрузку на хостинг
Если же % потребления CPU вырос значительно или меняется скачкообразно, это может быть свидетельством DDOS-атаки, Brute-Force атаки или большого количества запросов от поисковых роботов. Читайте ниже, как это можно понять и что можно сделать.
Как снизить нагрузку на CPU?
Начните с просмотра статистики нагрузки на CPU:
На вкладке «Управление» вы можете увидеть показатель средней нагрузки на CPU. Для более подробного анализа нажмите по строке Статистика.
Обратите внимание:
- если на вкладке «Управление» не отображается строка Статистика, обратитесь в техническую поддержку;
- статистика по CPU не отображается, если нагрузка на сервер хостинга менее 1%.
Откроется статистика следующего вида:
Первое, на что стоит обратить внимание, это «Динамика нагрузки на процессор за последние 7 дней».
Нагрузка на CPU при запуске PHP- или Perl-скриптов
В таких случаях хостер не всегда может четко сказать, какой именно скрипт создает проблему, и определить это вам нужно будет самостоятельно. Если вы используете модульную CMS, например Joomla, Wordpress или Drupal, то причиной может быть некорректная работа отдельного модуля.
Практически всегда проблемное звено в системе вашего сайта можно определить, сопоставив время возникновения проблемы с логами запросов к вашему сайту в этот момент времени. Получить доступ к логам веб-сервера обычно можно в панели управления хостингом даже без обращения к провайдеру.
Лучшие инструменты для отслеживания нагрузки на CPU сервера
Наблюдать за тем, какое количество ресурсов чипа расходуется в текущий момент, можно несколькими способами:
- с помощью инструментов, предоставляемых хостинг-провайдером, у которого вы арендовали сервер;
- с помощью специальных текстовых утилит для Linux, отображающих статистические данные о состоянии компьютера.
Мы рассмотрим оба варианта, но у вашего хостинга может не быть панели со статистикой. Поэтому я покажу такую панель на примере Timeweb, где она точно имеется. Разбираться будем на примере сервера с Linux на борту.
Подробности о мониторинге состояния сервера уточняйте у своего провайдера.
Общие рекомендации
Нужно понимать, что хостер ежедневно может сталкиваться с десятками и сотнями проблем, аналогичных вашей, а значит, способен вам помочь в их решении. Хостер - это ваш союзник, а не враг в борьбе с такими проблемами.
Хостинг-провайдеру выгоднее оказать помощь в решении проблемы и сохранить клиента, чем отказать в предоставлении услуг, при этом не только упустив прибыль, но и подпортив себе репутацию.
Если провайдер предлагает переход на более высокий тариф хостинга для сайта или же услугу более высокого класса, уточните, что именно это вам даст. Прислушаться к аргументам стоит в том случае, если они действительно весомы.
Выясняем, почему так важно отслеживать нагрузку на процессор сервера, а также рассмотрим несколько популярных утилит для мониторинга состояния сервера и загруженности CPU в частности.
Нагрузка на CPU и дисковую систему со стороны MySQL
Нормальным временем для выполнения запроса к базе данных MySQL считается несколько десятков миллисекунд. Запросы, которые выполняются дольше (особенно более 0,5 секунд), часто создают избыточную нагрузку как на дисковую систему сервера, так и на его процессор. Если хостер предупреждает вас о подобной проблеме, запросите у него логи медленных запросов и выполните оптимизацию структуры базы данных, а также очистите базу от неактуальной информации.
Избыточная нагрузка на почтовый сервис
Интенсивное использование почтового сервиса на хостинге для проведения моментальных массовых рассылок по сотням или тысячам получателей может вызвать существенную нагрузку на сервер. По этой причине большинство провайдеров устанавливают определенные ограничения на отправку почты - обычно 25-50 писем в час или около 500-1000 писем в сутки. Данное ограничение направлено как на борьбу со спам-рассылками, так и на снижение нагрузки на почтовую подсистему сервера. Для обычной работы с почтой на сайте таких ограничений, как правило, достаточно, а для массовых рассылок лучше пользоваться почтовым хостингом, сервисами моментальных рассылок или же приспособить для этой цели VPS.
Что значит нагрузка на процессор и зачем ее отслеживать?
Под нагрузкой понимается то количество ресурсов, которое «железо» компьютера тратит на выполнения одной или нескольких задач. Обычно оно отображается в процентном соотношении, где за 100% берется максимальная загрузка одного из ядер.
Наблюдение за этим значением требуется во избежание проблем, связанных с избыточной нагрузкой на чип. Потому что процессор может быть занят как полезными задачами, так и теми, что мешают реализовать потенциал устройства в полной мере.
Например, код некоторых программ может быть плохо оптимизирован. В связи с чем сервер будет расходовать больше мощностей на выполнение по умолчанию простых задач. Или же на сервер может попасть вирус, который будет отнимать часть ресурсов.
Такая «бесполезная» загрузка чипа приведет к общему снижению производительности сервера, а также приложений и сайтов, базирующихся на нем. А это приведет к потере аудитории и снижению прибыли.
Панель управления хостингом
Timeweb (как и некоторые другие провайдеры) предоставляет статистические данные о состоянии сервера в реальном времени. В панели управления VDS/VPS есть отдельный блок, в котором отображается график с актуальной нагрузкой на процессор.
Чтобы получить доступ к информации о состоянии чипа в панели управления Timeweb:
- Заходим на страницу хостинга и вводим данные для авторизации в ПУ.
- Открываем список действующих VDS и переходим к тому, нагрузку на который нужно оценить.
На главной странице появится блок со статистикой за день. Там будет информация и по процессору, и по интернет-каналу. Все в блоке вместе с основной информацией о сервере (подразумевается операционная система и объем свободного пространства на диске).
Если перейти на вкладку «Статистика», можно будет указать временной отрезок, чтобы посмотреть уровень нагрузки в ретроспективе (на момент сбоев или жалоб посетителей). Также появится доступ к блоку «Оперативная память», где можно оценить нагрузку на ОЗУ.
Как уменьшить нагрузку?
Кратковременные или пиковые нагрузки можно анализировать по лог-файлам вашего сайта.
Периодические (систематические) повышенные нагрузки нужно анализировать по графику нагрузок с коротким временным интервалом (если он доступен).
Выявить «тяжелый» плагин сайта вы можете из браузера, используя инструменты разработчика, вкладка Network. Она разложит процессы по времени, и вы увидите плагины которые грузятся дольше секунды. Их нужно убрать.
Повышенную нагрузку от ненужный поисковых ботов вы можетt снизить в файле robots.txt , создав там директиву crawl-delay или закрыть неважные разделы сайта от обхода ботов.
Можно управлять нагрузкой директивами для веб-сервера Apache в файле .htaccess . Там вы сможете использовать user-agent для ограничений.
Можно управлять нагрузкой через плагины безопасности. В них есть блокировка пользователей и ботов по их IP, стране и т. п.
Чтобы нагрузка на CPU снизилась, администратор WordPress должен использовать кэширование средствами CMS. То есть установить плагин кеширования (на выбор): WP Super Cache, W3 Total Cache, WP Rocket, WP Fastest Cache, Comet Cache, Autoptimize.
Что такое нагрузка на CPU
Аббревиатура CPU известна всем пользователям компьютеров всех видов и типов. Это Central Processor Unit — центральный процессор.
Нагрузка на CPU, в контексте хостинга, это процентная доля вашего использования ресурсов центрального процессора сервера в рамках вашего тарифного плана.
За 100% принимается допустимая нагрузка одного ядра, 200% — полная допустимая нагрузка двух ядер.
При аренде вами шаред хостинга, вы априори делите CPU с другими пользователями хостинга. То есть вы по определению не можете использовать 100% ядра сервера.
Именно по этому при аренде общего хостинга вам нужно выяснить какая нагрузка на CPU вам разрешена по вашему тарифному плану.
Найти эти данные вы можете в договоре с хостингом. Называться данный параметр будет, скорее всего, так «максимальное суммарное потребление ресурсов процессора в сутки», измеряться может в минутах или процентах. Всё зависит от ПО хостинга.
Для администратора WordPress важно понимать, что нагрузка на сервер необязательно связана с правильной работой сайта. Если вы установили плохо «собранный» плагин или программный код создал бесконечный цикл или неправильное регулярное выражение, то нагрузка на CPU возрастёт кратно.
Помимо этого, есть нагрузка на CPU со стороны базы данных MySQL. Она лимитирована в меньшей степени, но она есть.
Итак, каждый раз, когда посетители вашего сайта его просматривают и каждый раз когда вы его администрируете, создаётся нагрузка на CPU вашего сервера. Однако эта нагрузка также создается, когда ваш сайт посещают законные или атакуют незаконные боты.
Чтобы снизить нагрузку на сайт со стороны законных ботов, от них закрывают часть каталог сайта в файле robots.txt . Это не единственное назначение этого файла и о нём мы поговорим в отдельной статье.
Избыточное число запросов к сайту
Если на хостинге используется только Apache, и отражать проблемные запросы средствами того же Nginx у хостера нет возможности, а атака имеет интенсивный характер, хостер может заблокировать ваш аккаунт на сервере и попросить перенести сайты на VPS или выделенный сервер.
Если атака возникает в первый раз, то логично обратиться к хостинг-провайдеру за помощью в ее отражении или хотя бы потребовать разблокировки аккаунта и возможности продолжения работы с хостингом сразу после прекращения атаки. Если такая проблема возникает систематически, то переход на VPS или сервер и его грамотная настройка для отказоустойчивой работы сайта (например, установка скриптов автоблокировки IP-адресов бот-машин на основании анализа логов, установка Nginx в качестве front-end к Apache и фильтрация проблемных запросов на его уровне) действительно имеет смысл.
Как снизить нагрузку на процессор?
Все зависит от того, чем вызваны избыточные затраты ресурсов процессора. Для начала надо проанализировать статистику и выяснить, в какие периоды времени нагрузка чересчур возрастает и какое из приложений этот прирост провоцирует.
- Если дело в чрезмерной активности отдельных программ, то нужно приостановить их работу.
- Чтобы снизить нагрузку из-за деятельности поисковых роботов, надо сократить количество разделов сайта, которое им можно индексировать. Скрыть от ботов часть страниц можно, если указать их адреса в файле robots.txt.
- Если во всем виновата прожорливая CMS, стоит проанализировать установленные плагины. Возможно, какой-то из них работает некорректно и отнимает ресурсы, необходимые для нормального функционирования других компонентов сервера.
- Стоит сделать рефакторинг в структуре запросов в базе данных сайта.
- Проверить, нет ли на сервере вредоносного программного обеспечения.
Также не стоит забывать, что есть альтернативное решение — увеличение мощности сервера. Зачем бороться с нагрузкой, если можно сделать ее менее заметной для своего VDS? И для этого всего лишь надо арендовать более мощную «машину».
Статистика запросов по User-Agent
С помощью данной статистики можно увидеть, насколько часто поисковые роботы посещают ваш сайт.
Если количество запросов большое, рекомендуем настроить файл robots.txt: установите таймаут обращения роботов к вашему сайту (от 10 секунд) при помощи директивы «Crawl-delay».
Внимание: не все User-Agent являются роботами, User-Agent показывает приложение, через которое происходило обращение к вашему сайту. То есть если вы явно не видите надписи bot, то проблема не в поисковых роботах.
Перейдите в корневую папку сайта и добавьте в файл robots.txt (создайте его, если он не существует) следующие строки:
Вы администратор WordPress и вам в очередной раз пришло письмо от вашего хостинга, что у вас превышена нагрузка на процессор сервера? Вам пора разобраться, что такое нагрузка на CPU, как за ней следить и как её снизить.
Заключение
Если у вас молодой сайт, то нагрузка на CPU сервера вас будет мало волновать. С ростом посетителей и улучшении функционала проблема нагрузки вас посетит. Лучшее решение этой проблемы совместно с технической поддержкой хостинга.
Ситуация, которая может случиться с каждым владельцем сайта с растущей нагрузкой, – получение предупреждения о превышении лимита ресурсов.
Если хостинг-провайдер сообщает вам о создаваемой нагрузке на процессор, но вы уверены, что вам должно хватать ресурсов, постарайтесь понять, в чем может быть причина данной нагрузки. Зная причину, вы сможете оперативно устранить возникшую проблему.
Читайте также:
- Каким пациентам с covid 19 рекомендуется проведение компьютерной томографии тест
- С какими интерфейсами поставляются zip дисководы
- Не загружаются файлы в вк
- Gamemaker studio 2 какой язык программирования используется
- Какой вид электронной подписи приравнивается к собственноручной подписи человека по законодательству