Проблема на CPU лимита

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

Именно поради тази причина, ние от хостинг компания Jump.bg, премахнахме това ограничение от всички хостинг акаунти.

Като тайничко ще споделим, че този лимит не се наблюдава активно от нас, вече повече от 1 година. 

За да покажем колко не е актуално това, ограничение ви предоставяме следният пример:

Ако имате скрипт, който се изпълнява на всеки час и самото му време за изпълнение е 1 минута, това означава, че на ден само и единствено този скрипт ще заема 24 минути. За един месец (30 дни) получаваме 720 CPU минути за този месец. В комбинация със стандартно зареждащите файлове, бързо може да достигнете CPU месечния лимит, но в случая както се вижда, че нямаме тежка Интернет страница, а просто един скрипт, който изпълнява работа. 

Добре дошъл Lightweight Virtual Environment (LVE)

С напредването на технологиите, виртуализацията навлиза все повече, с което настъпиха и така желаните промени при споделения хостинг, а именно въпросната LVE среда. Реално технологията не е нещо ново, а ние от Jump.bg вече няколко години я прилагаме частично или изцяло, за да ви предоставим качествена хостинг среда.

Но какво по-точно е LVE среда?

Технологията е подобна на тази при Cloud VPS услугите, а именно - всеки клиент се поставя в специализирана среда със заделени ресурси за него, като заделените хостинг ресурси зависят от избрания хостинг план. Те могат да бъдат променяни динамично при нужда. 

Научете повече за това, какво е VPS хостинг.

 С предоставянето на заделени ресурси за всеки акаунт, всъщност технологията предоставя много повече ползи за самия клиент, отколкото органичения. 

Нека да дадем и един пример

Да предположим, че имате контрол над домейна Google.com и решавате да го насочите към споделен хостинг. Само след няколко части от секундата, целият сървър на споделения хостинг ще изпадне в режим "Not responding", тъй като към домейна Google.com ще постъпят милиони заявки, а това ще изчерпи всички ресурси на сървъра. 

Ако предположим, че на този сървър има още 100 клиентски сайта (тъй като примера е за споделен хостинг), то моментално и 100-те сайта ще бъдат недостъпни, поради изчерпване на общия ресурс на сървъра само от един клиент, а в случая нашия примерен сайт Google.com. 

Ако този акаунт е поставен в LVE среда, то тогава той ще достигне ограниченията си и автоматично и ще бъде филтриран от системата. Така той няма да афектира останалите 100 клиента и техните страници ще работят без затруднения.

Предимството на LVE технологията е, че тя не позволява сайтовете разположени на един сървър да използват ресурс, който не е заделен за тях. Така останалите клиенти, разположени на сървъра, остават независими от изчерпването на ресурсите на споделения сървър.

Това автоматично прави новата технология много по-надеждна и сигурна като среда за вашия сайт. 

Ограничения при LVE технологията:

Speed limit/CPU Usage или ограничение на скоростта от процесора, за различните хостинг планове.

Този параметър варира от 100% до 240% и показва колко ядра от процесорния блок на сървъра, може да използва потребителя за процесите си. 

Пример: При 100% това е едно ядро, при 200% две ядра, при максималната за сървърния процесор честота, измервана в GHz.

Physical Memory Usage

Тук е лимита за максимално използвана RAM за всички процеси на потребителя, включително дисковия кеш. Според избрания план е в границите от 1GB за най-ниския, до 2.5GB за най-високия. Когато потреблението на физическата памет, използвана от потребителя, е извън лимита, първо ще се освободи паметта, използвана за дисков кеш и ако това не е достатъчно, ще прекрати някои от процесите за този потребител и ще увеличи брояча на PMEM (Physical Memory). При недостатъчно Physical Memory Usage, уеб сървъра ще показва следните грешки 500 или 503.

IO limit или скорост за писане по диска.

Ограниченията за IO засягат пропускателната способност към дисковия масив на сървъра за данните на клиента. Те се измерват в MB/s.

Когато се достигне лимитът, процесите се ограничават по скорост, но не се прекъсват. За различните хостинг планове IO лимита е от 5MB/s до 50MB/s. Ограниченията на IO ще засегнат само действията към SSD/NVMe и нямат афект върху скоростта на мрежата. Също така не се лимитира достъпът до дисков кеш. Дори ако даден файл се зареди от кеша на диска 100 пъти, това няма се отчете от IO статистиката.

IOPS

Входно-изходни или запис/четене от харддиска на сървъра процеси.

Ограниченията за IOPS ограничават общия брой операции за четене/запис в секунда. Тук е важно да се отбележи, че когато се достигне ограничението, операциите за четене/запис спират, докато изтече текущата секунда.

Ограничението е 1024 операции в секунда за всички планове на споделен хостинг.

Entry Processes или ограничение на заявките от вън.

Това представлява максимален брой едновременни връзки към уеб сървъра и негови отделни допълнителни сървиси(PHP интерпретатор и др.), както и процеси стартирани през SSH и cron jobs, но изпълняващи се едновременно с входящите.

Това ограничение е създадено, за да предотврати евентуална атака срещу уеб сървъра. При отделните хостинг планове е в границите от 20 до 30.

Processes (NPROC)

За разлика от предишния параметър, тук става дума за всички процеси на потребителя. След като се достигне ограничението, не може да се създаде нов процес (докато друг не прекъсне). В такъв случай, уеб сървъра обикновено връща грешка 500 или 503.

Този параметър е 100 единици и остава постоянен, без значение, кой от плановете ни сте избрали. 

NPROC контролира общия брой процеси и нишки(подпроцеси на основния).

Например:

Ако към уеб сайтовете на един cPanel потребител се получат 20 едновременни заявки, които довеждат до 160 едновременни изпълнения на PHP скриптове, ще се засегне лимита за NPROC.

linkedin

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

Системата следи всеки един параметър в реално време и при достигане на определени нива, акаунта се маркира и автоматично бива ограничен. 

Ограничаване на няколко нива:

  • Ниво 1 - Акаунта моментно достига пиково натоварване. В този случай системата забавя изпълнението на заявките само за конкретния акаунт. Заявките все пак биват изпълнени, но с леко забавяне или казано по друг начин - сайта ви се зарежда, но по-бавно. 
  • Ниво 2 - При системно достигане на ресурсите на акаунта. В този случай системата ще изведе грешка 503 - Service Unavailable. В случая системата въвежда глобално ограничение за целият хостинг акаунт.

На всеки 3 минути, LVE проверява дали маркираният акаунт все още изразходва заделените ресурси за него. Ако е така, то продължава да го ограничава от Ниво 2 (error 503). В случай, че вече не се достигат лимитите, то LVE сваля всички ограничения моментално.

Пример: 

За примера да посочим, че е достигнато ограничението на RAM памет.

Нека да използваме по-горния пример за Google.com, но ще го променим малко с това, че в този акаунт да е добавен и Bing.com:

Стартираме отново трафика към Google.com, който се намира в нашия акаунт. Системата засича, че много бързо потребителя достига ограниченията си и автоматично бива ограничен. И на двете страници (google.com и bing.com) ще се визуализира error 503 (Service unavailable). Ако спрем Google и изчакаме ~3 минути, то тогава няма да изпитвате затруднения с отварянето на bing.com страницата ви.

Ако имате нужда от съдействие или имате въпроси, не се колебайте да се свържете с нашия технически екип, който е на ваше разположение 24/7 на имейл support@jump.bg.

Абонирай се за нашия бюлетин и получавай актуални новини и специални промо оферти

Статия от Тихомир Георгиев

С над 10 години опит в техническата поддръжка, основната цел на Тихомир е да запознае клиентите ни как да използват услугите или прилежащият към тях софтуер.

Социални мрежи:
Още статии от автора

Абонирай се за нашия бюлетин

С абонамента си получаваш повече актуални новини и нашите специални промо оферти

С натискането на бутона "Абониране", вие се съгласявате предоставените от вас лични данни да се обработват за целите на абонамента спрямо нашата Политика за поверителност.