Блог Хасанова Ильи о сайтостроении
  • База знаний
    • Создай свой сайт сам
      • 1 шаг (подготовка)
      • 2 шаг (оформление)
      • 3 шаг (юзабилити)
      • 4 шаг (хостинг/домен)
    • Миграция Joomla
      • C версии 2.5 на 3x
    • Расширения Joomla
      • Компоненты
      • Плагины
      • Модули
    • CSS, HTML, JavaScript
      • Магия CSS стилей
      • Готовые CSS3 кнопки
      • Скрипты
    • Графика и текст
      • Бесшовные фоны
      • Шрифты для сайта
    • Прочее
      • Нужно знать!
      • FAQ Joomla
      • Это интересно!
  • Онлайн-сервисы
    • CSS генераторы
      • Создать градиент
      • Создать кнопку
      • Создать тень у текста
      • Создать тень у блоков
  • Заказать сайт
    • Потенциальному заказчику
      • Вопросы и ответы
      • Заказ-онлайн
  • Отзывы
  • Контакты
Блог Хасанова Ильи о сайтостроении
Партнерская компания AIR для каналов видеохостинга youtube
  • База знаний
  • Прочее
  • Нужно знать!
  • Уменьшение нагрузки на CPU сервера сайта
17 март2016

Уменьшение нагрузки на CPU сервера сайта

17 марта 2016. Категория: Нужно знать!

Уменьшение нагрузки на CPU сервера сайта

Однажды на Вашу почту может прийти письмо от хостинг-провайдера примерно следующего содержания:

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

При покупке хостинга для своего сайта нужно обращать внимание на количество ресурсов, которое выделяется для определенного тарифного плана: дисковое пространство, максимальное количество сайтов и БД, панель управления сервером. В добавок к этому для каждого тарифа выделяется определенный лимит на использование CPU, который изначально невозможно просчитать под нужды желаемого хостинга.

Причины нагрузок на CPU сервера

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

  1. Рост сайта за счет высокой посещаемости (требуется включение кэширования файлов в настройках CMS или смена тарифного плана на более мощный)
  2. Нагрузка на сервер баз данных MySQL (требуется отключение/удаление ненужных расширений CMS и отдельных скриптов или смена тарифного плана на более мощный)
  3. Слабая DDoS атака, пожирающая ресурсы сервера (требуется защита от такого вида атак - должна стоять по умолчанию от хостинга (дополнительно установите расширение JHackGuard))
  4. Вирусы на сайте (требуется антивирус (некоторые хостинг-провайдеры имеют встроенные антивирусы, например Reg.ru))
  5. Спам-боты, боты различных сервисов (требуется ручная блокировка ботов, а также их IP-адресов)

Блокировку спам-ботов и их IP мы рассмотрим более подробно в конце данной статьи.

Как определить причину нагрузок на CPU сервера

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

Общий перечень действий при больших нагрузках на CPU сервера

Первым делом нужно просканировать файлы Вашего сайта на наличие вредоносного кода, который может создавать дыры в системе, а также дополнительную нагрузку на ресурсы сервера. Используем антивирус своего хостинг-провайдера или, например, бесплатный антивирус "Manul" от команды Яндекс.

Следующим действием будут работы по улучшению защиты сайта: скрываем страницу доступа к административной панели сайта за счет плагина AskMyAdmin и ставим защиту от хакерских SQl атак при помощи компонента JHackGuard. Подробнее об этом можно прочитать в данной статье.

Включаем встроенное прогрессивное кэширование сайта через настройки CMS. Подробнее об этом можно почитать в данной статье.

Следующим этапом действий будет блокировка спам-ботов и ботов различных сервисов. Рассмотрим его более подробно!

Таймаут для поисковых ботов и блокировка спам-ботов

Для снижения нагрузки на CPU сервера от ботов популярных поисковых систем (Яндекс, Google или Bing), нужно через файл robots.txt использовать директиву Crawl-delay для установки таймаута обращения роботов к Вашему сайту.

Для отдельных ботов:

/* Для робота Яндекса задается таймаут в 40 секунд */
User-agent: Yandex
Crawl-delay: 40
/* Для робота Bing от Microsoft задается таймаут в 40 секунд */
User-agent: bingbot
Crawl-delay: 40

Сразу для всех ботов:

/* Для роботов всех поисковых систем задается таймаут в 40 секунд */
User-agent: *
Crawl-delay: 40

Для робота Google настройки вносятся через Гугл-вебмастер. Настройки в robots.txt работать не будут!

Блокировка нежелательных роботов

Спам-боты и боты различных сервисов, таких как MegaIndex.ru, могут обходить выставленный в файле robots.txt таймаут, тем самым быстро и стремительно нагружая сервер огромным количеством запросов. В этом случае через файл .htaccess делается полная блокировка нежелательных роботов:

/* Прописываем в конце файла .htaccess, соблюдая синтаксис */
RewriteCond %{HTTP_USER_AGENT} MegaIndex.ru [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} MJ12bot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} BLEXBot [NC]
RewriteRule ^(.*)$ — [F,L]

Вместо MegaIndex.ru, MJ12bot, BLEXBot прописываете имена ботов, которые создают нагрузку (при необходимости копируем и вставляем записи).

NC - означает не учитывать регистр букв; OR - означает "или следующее условие".

Последняя строка RewriteRule ^(.*)$ — [F,L] запрещает доступ всем вышеописанным ботам к сайту.

Важно! В предпоследней строчке кода не должно быть записи [OR]

Блокировка по IP-адресам

Иногда в статистике нагрузок на CPU можно встретить IP-адреса спамеров, которые ежедневно на сайте создают тысячи запросов, создавая тем самым нагрузку. Для их блокировки используем все тот же файл .htaccess:

/* Соблюдаем синтаксис, пишем нужные IP-адреса */
Order Allow,Deny
Allow from all
Deny from 144.76.15.235
Deny from 136.243.36.91
Deny from 37.113.176.89

Комментарии

  • Нет комментариев. Ваш будет первым!

Закрепленные

Понравившиеся

Чтобы оставить комментарий, необходимо авторизоваться!
Надежный хостинг, который стоит своих денег!

Авторизация

           

Последние комментарии

Илья Хасанов
Добрый день, на сайте https://yootheme.com/joomla-templates есть бесплатный шаблон https://prnt.sc/vqe77q, https://prnt.sc/vqe7rh
1 шаг к созданию собственного ...
26.11.2020
Дмитрий Филев
Добрый день!! Посоветуйте где взять хороший бесплатный шаблон, для сайта-визитка, блог? В вашем обучении на сайте yootheme.com нет бесплатных шаблонов...
1 шаг к созданию собственного ...
26.11.2020
Хасанов Илья
Здравствуйте, Олег! http://prntscr.com/hbnd1l
2 шаг к созданию собственного ...
17.11.2017
Олег Насиканов
Привет Илья, откуда на 3 минуте из папки дополнительные материалы берётся файл стилей. Где их взять? Заранее благодарен.
С уважением, Олег.
2 шаг к созданию собственного ...
17.11.2017
Роберт Сидоров
Существует ли модуль, отображения новостей как у Вас на сайте реализовано? Нужно, чтобы было разграничение новостей и дата отображалась как у Вас. Воз...
Mj Simple News - модуль вывода...
23.09.2017
Сергей Лаврик
Есть какой видосик по созданию безшовного фона?
Бесшовные фоны для сайта
17.07.2017

Полезные ссылки

  • Скачать
    • Актуальная версия CMS Joomla
    • Актуальная версия Denwer
    • Текстовый редактор Notepad++
    • FTP-менеджер Filezilla
  • Оптимизация кода сайта
    • Анализ сайта PageSpeed Insights
    • Анализ файла robots.txt
    • Проверка скорости загрузки сайта
    • Сжатие JS кода
    • Сжатие CSS кода
  • Ускорение индексации сайта
    • Ускорение индексации в Yandex
    • Ускорение индексации в Google
    • Ускорение индексации в Bing
    • Ускорение индексации в Mail.ru
  • Работа с текстом
    • Подбор ключевых слов Wordstat
    • Проверка текста на уникальность
  • Работа с графикой
    • Сжатие PNG без потерь качества
    • Сжатие JPG без потерь качества
    • Преобразовать PNG в SVG
    • Создать свой бесшовный фон
  • Прочее
    • Онлайн-конструктор карт
    • Генератор надежных паролей
    • Генератор QR-кода

Подписывайся на канал Youtube

Подписывайся на группу в ВК

 

Финансовая поддержка блога

Поддержка блога

Если Вы особо цените труд автора блога и желаете не просто отблагодарить его словестно, но еще и материально - данный раздел сайта создан специально для Вас!

  • Создать сайт на CMS Joomla
  • 1 шаг (подготовка)
  • 2 шаг (оформление)
  • 3 шаг (юзабилити)
  • 4 шаг (хостинг/домен)
  • Миграция сайта на CMS Joomla
  • С версии 2.5 на 3x
  • Расширения CMS Joomla
  • Компоненты
  • Плагины
  • Модули
  • CSS, HTML, JavaScript
  • Магия CSS стилей
  • Готовые CSS3 кнопки
  • Бесшовные фоны на чистом CSS
  • Скрипты
  • Графика и текст
  • Бесшовные фоны/паттерны
  • Шрифты для сайта
  • Прочее
  • Это должен знать каждый сайтостроитель!
  • Вопросы и ответы Joomla
  • Онлайн CSS генераторы
  • Создать CSS градиент
  • Создать CSS кнопку
  • Создать тень у текста
  • Создать тень у блоков
  • Заказать создание сайта
  • Вопросы и ответы
  • Оставить заявку на разработку сайта
  • Об авторе блога
  • Отзывы
  • Контактная информация

При полном или частичном копировании материалов сайта - ссылка на данный ресурс обязательна!
Бесплатные авторские видеоуроки и статьи о CMS Joomla | Ilyakhasanov.ru © 2017

  • База знаний
    • Создай свой сайт сам
      • 1 шаг (подготовка)
      • 2 шаг (оформление)
      • 3 шаг (юзабилити)
      • 4 шаг (хостинг/домен)
    • Миграция Joomla
      • C версии 2.5 на 3x
    • Расширения Joomla
      • Компоненты
      • Плагины
      • Модули
    • CSS, HTML, JavaScript
      • Магия CSS стилей
      • Готовые CSS3 кнопки
      • Скрипты
    • Графика и текст
      • Бесшовные фоны
      • Шрифты для сайта
    • Прочее
      • Нужно знать!
      • FAQ Joomla
      • Это интересно!
  • Онлайн-сервисы
    • CSS генераторы
      • Создать градиент
      • Создать кнопку
      • Создать тень у текста
      • Создать тень у блоков
  • Заказать сайт
    • Потенциальному заказчику
      • Вопросы и ответы
      • Заказ-онлайн
  • Отзывы
  • Контакты