CityHost.UA
Помощь и поддержка

Что такое нагрузка на процессор и что делать, если она превышает допустимый лимит?

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



Если Ваш аккаунт превышает допустимую нагрузку, на Ваш регистрационный имейл автоматически приходит письмо с уведомлением и просьбой принять меры. Вы можете выбрать хостинг-пакет побольше и заказать его. Это логично - если Ваш сайт вырос, чаще идексируется, на нем появилось больше посетителей, то необходимо расширить лимит реурсов сервера для Вашего аккаунта. Если же Вы не хотите расширять ресурсы, можем начать с анализа логов доступа к сайту. Доступны они Вам в [ISPManager--Журнал] - здесь хранятся логи доступа и ошибок за текущие сутки. Более старые логи доступа можно найти в папке ~/logs/.

 

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

 

 

Для его использования Вам достаточно загрузить его в корневую папку сайта (/www/domain_name.zone) при помощи: [ISPManager--Менеджер файлов--Загрузить].

 

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

1. Боты поисковых систем. Для оптимизации данного процесса рациональнее всего обратиться к SEO-специалисту,  которому необходимо: написать нужные правила для сканирования, добавить запреты сканирования тех или иных url сайта, добавить задержку между сканированиями (crawl-delay) и при необходимости запретить сканирование тем или иным ботам (User-agent: agent_name Dissallow: /).

2. Существенное потребление процессорного времени также может использовать cron (планировщик задач) CMS Вашего сайта, который Вы возможно используете. Это является неверным решением, потому что при такой структуре Ваш сайт (скрипт на сайте) отправляет запрос на Ваш же сайт и дергает нужную задачу из web'a посредством http-запроса. В такой ситуации Вы шлете запрос сами себе (со своего сайта на свой же сайт) и если при этом задача которую выполняет cron трудоемкая и выполняется, к примеру, 30 секунд, то на ее выполнение тратится много процессорного времени.

Для выполнения скриптов по определенному временному циклу рациональнее использовать встроенный crontab в ISPManager( https://faq.cityhost.ua/?p=faq_new&faq_id=125 ) или в панели управление cp.cityhost.ua( https://faq.cityhost.ua/?p=faq_new&faq_id=253 ).

Запускать скрипт неободимо не путем http-запроса, а указывать абсолютный путь ( /var/www/hosting_account/data/www/domain_name.zone/path/to/script.php ) и использовать для его запуска специально разработанную утилиту.

3. Програмная оптимизация скриптов Вашего сайта, а также запросов скриптов к БД сайта. Вашему разработчику стоит рассмотреть возможность корректировки кода скриптов сайта с целью оптимизации их работы, а также определения типов медленных запросов к БД, которые выполняются более 15 секунд, и оптимизировать их.

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