Лимит от процесорно време в споделен хостинг

Помощен център

Лимит от процесорно време в споделен хостинг

Процесорното време (CPU time) се нарича времето, за което едно процесорно ядро обработва директивите в даден програмен скрипт и връща готовия ресурс (най-често уеб страница) на браузера.

Времето, през което процесора работи, се измерва в секунди. Понякога CPU времето се измерва като процент от общия капацитет на процесора и се нарича използване на процесора (CPU usage).

Приложение на 'CPU time' и 'CPU usage'

CPU time и CPU usage имат две основни приложения:

  • да се определи количеството на общата заетост на системата. Когато използването на CPU е над 70%, потребителят може да забележи забавявне. Висок процент на CPU usage показва недостатъчна мощност за обработване на заявки. Когато това започне да се случва често или процесорът трябва да бъде надстроен (което е по-скоро теоретична възможност) или да се открие и оптимизира причината за претоварването.
  • да се определи как процесорния ресурс се споделя между отделните приложения. Високата употреба на процесорен ресурс от една програма може да показва, че тя е обект на атака или е повредена, например грешка в логиката на дадена заявка вкарва сървъра в безкраен цикъл.

Как се процедира когато акаунт превиши CPU лимита?

В контекста на споделения хостинг за всички хостинг планове се дефинира лимит от процесорно време като CPU лимита се отнася за целия хостинг план, а не за отделен сайт в хостинга.

Тъй като хостинг сървърите са изключително мощни машини те могат да работят с оптимално нисък процент CPU usage (и достъчен резерв от ресурс), което им позволява при пикови претоварвания да осигурят време за задействане на автоматични защитни механизми или live намеса на администратор.

Поради тази причина при превишаване на CPU лимита от даден потребител сайта не се спира, а автоматичната система подава информация към техническа поддръжка за потребителите, чиито акаунти претоварват сървъра.

Когато това системно претоварване продължи в рамките на 48 часа (периода е условен, ако става въпрос за DoS атака се реагира на секундата), се установява контакт със собственика на акаунта и се предоставя наличната техническа информация от служебните логове.

След това се съдейства на клиента да се открие причината за претоварването.

Най-често срещани причини за превишаване на CPU лимита

В голямата част от случаите претоварването се дължи на едно или повече от следните събития:

  • сканиращ робот се престарава в индексирането - открива се лесно в статистическа програма като AwStats и се блокира IP адреса в .htaccess.
  • паразитен (спам) трафик от напр. бразилски или китайски IP адреси към сайт на български - блокират се IP адресите.
  • некоректен robots.txt файл (или липса на такъв) - легитимните ботове на Google, Yahoo или Bing също могат да генерират голям трафик.
  • инжектиране на спам коментари - добавя се ReCaptcha или се спират коментарите. Ако са от няколко IP адреса (ще ги откриете в логовете за достъп като POST заявки) е добре да се блокират.
  • многократно изтегляне (download) на PDF документи или изображения.
  • използване на уязвимости (обикновено в стари версии) в CMS приложения.
  • неоптимизирани MySQL заявки - заявки Select ALL ..., не се използват индекси, вградени (nested) заявки, които не могат да се изпълнят в рамките на PHP лимита max_execution_time и др.
  • използване на стара PHP версия - при сравнителни тестове времето за зареждане на една уеб страница с PHP 7 е с около 7% по-кратко от зареждането на същата страници с PHP 5.6.
  • прекалено често изпълнение на cron задачи - минималният период на повторение на cron задачи в ICN.bg хостинг е 30 минути.
  • автоматично зареждане на медийни файлове.
  • автоматично следене и изтегляне на feed от външни (обикновено social media) сайтове.
  • live chat функционалност.
  • javascript ефекти - carousel, анимации ...

Важно е да се прецени времето, в което се е случило претоварването - ако преди това са правени промени в сайта има много голяма вероятност някоя от промените да не работи коректно. Ако не са правени планирани промени по сайта, най-вероятно претоварването се дължи на външни източници.

Може би е време за ъпгрейд

Превишаване лимита от процесорно време може да бъде и добра новина.

Ако нито една от посочените по-горе причини не е налице, то може би превишаването се дължи на факта, че съдържанието на вашия сайт е достигнало до правилната аудитория посетители и че вашите маркетингови кампании са успешни и популярността на сайта стабилно се е увеличила.

В този случай единствения начин да продължи сайта да расте е да ъпгрейднете текущия хостинг план в план с по-висок CPU ресурс.

Лимити на основни хостинг параметри за различните хостинг планове

В таблицата публикуваме информация от условията за ползване на хостинг от ICN.bg (4.4.1.) с лимитите на основни хостинг праметри за различните хостинг планове.

ХОСТИНГ ПЛАНCPU% ЛИМИТAPACHE REQUESTSMYSQL ВРЪЗКИINODES
Ултима30 минути за 24 часа80 едновременни30 едновременни100 хиляди
Икономичен55 минути за 24 часа100 едновременни30 едновременни150 хиляди
Бизнес95 минути за 24 часа100 едновременни30 едновременни200 хиляди
Стандарт140 минути за 24 часа100 едновременни30 едновременни300 хиляди

Inodes показва разрешения брой обекти (файлове) в един хостинг акаунт. Защо е важен този параметър - защото в рамките на дисковото пространство може да има няколко милиона обекта (малки файлове) и изпълнение на заявка за търсене със сигурност ще доведе до претоварване и ще наруши баланса в общите настройки на хостинг сървъра.