Административният интерфейс на SPanel (Admin Interface) има четири инструмента, с които да откриете акаунтите, които натоварват сървъра. Списъкът с акаунти показва квотата, заетия диск и inodes на всеки акаунт спрямо плана му. Седмичната история (Usage History) показва CPU на всеки акаунт спрямо собствения му лимит и колко пъти го е достигал. Историята на CPU потреблението за отделен акаунт показва натоварването му по дати, а мониторът на процесите показва текущите процеси и позволява да ги спирате. Заедно те превръщат месечната проверка в рутина от 5 минути. Всички са включени във всеки управляван VPS план на NS1.
Когато клиент ви пише, че „сайтът е бавен“
„Сайтът напоследък е бавен“ е изречението, с което най-трудно се работи в хостинга. Без данни разговорът се върти в кръг: може би е плъгин, може би планът е малък, а може би е бил просто един лош момент. Всеки гадае, някой все пак минава на по-голям план и никой не научава нищо ново.
Данните вече са налични, защото SPanel ги записва през цялото време. Седмичната история (Usage History) показва кои акаунти са опирали до тавана си за CPU и колко често. Историята на CPU за отделен акаунт показва натоварването му по дати, така че „напоследък“ се превръща в конкретна дата и час. Плъгин за бекъпи, който всеки следобед натоварва акаунта до тавана му, се вижда ясно на графиката, а откриването му отнема по-малко от 5 минути.
Това е месечният преглед на ресурсите: кратко минаване през четири екрана в Admin Interface, което показва кои акаунти натоварват сървъра, колко и какво да направите. Лимитите държат всеки акаунт в неговите граници, а честите проверки ви помагат да следите тези граници. Така определяте плановете по данни, а не на око, и откривате акаунта, който постепенно е надраснал плана си, преди това да се отрази на останалите акаунти на сървъра.
Четири инструмента, четири въпроса
Всеки екран отговаря на един въпрос. Минете през тях в този ред.
| Инструмент в SPanel | На какъв въпрос отговаря | Какво правите с него |
| Списък с акаунти | Кой е близо до лимита си в момента? | Сравнявате квотата, диска и броя inodes с плана на всеки акаунт |
| Седмична история (Usage History) | Кой е натоварвал сървъра през последната седмица? | Сравнявате използвания CPU с лимита на всеки акаунт и проверявате CPU Limit Hits |
| История на CPU за отделен акаунт | Кога точно е бил натоварен акаунтът? | Виждате натоварването на всеки акаунт по дати на графика |
| Монитор на процесите | Какво работи на сървъра в момента? | Проверявате или спирате отделен процес |
SPanel следи CPU и паметта на всеки акаунт през целия ден и ги записва по дати, така че историята е налична, когато ви потрябва.
Как да откриете акаунтите, които натоварват сървъра: стъпка по стъпка
Стъпка 1. Прегледайте списъка с акаунти. Отворете Accounts Management → Manage Accounts. Колоните показват Quota, Disk Usage и Inodes за всеки акаунт, заедно с пакета, собственика и статуса му. Сортирайте по Disk Usage и акаунтите, които са най-близо до лимита си, ще излязат най-отгоре.

Стъпка 2. Прегледайте седмичната история. Отворете Resource Usage → Usage History и вижте таблицата Weekly Usage By Users. За избраната седмица тя показва използвания CPU на всеки акаунт спрямо собствения му лимит, колко пъти акаунтът е достигнал лимита (колоната CPU Limit Hits) и същите две стойности за RAM. Обърнете внимание на акаунтите, които се доближават до лимитите си.

Стъпка 3. Отворете историята на CPU потреблението за акаунт, който е привлякъл вниманието ви. Кликнете View на реда на най-натоварения акаунт, за да видите как е използвал сървърния процесор. Графиката показва CPU (и RAM) потреблението на акаунта по дати за избрания период, а лимитът му е отбелязан с пунктирна линия. Равна и ниска линия означава, че акаунтът е в добро състояние. Ако линията всеки следобед стига почти до лимита, има конкретна причина: cron задача, бот, който обхожда сайта, или плъгин, който натоварва твърде много.

Стъпка 4. Вижте какво работи в момента. Отворете Resource Usage → Currently Running Users Processes. Това е списъкът с всички текущи процеси на сървъра в Admin Interface. На всеки ред са ID на процеса, акаунтът, на който принадлежи, и колко CPU и RAM използва. Намерете процесите на акаунта, който проверявате. Ако един от тях очевидно е причината и в момента пречи на останалите акаунти, спрете само този процес от панела, без да влизате през SSH.

Искате ли да направите този преглед за своите акаунти? Всичко описано дотук е част от SPanel и е включено във всички управлявани VPS планове на NS1.
Стъпка 5. Действайте според данните. Вече имате информация, която може да служи като база за по-нататъшни действия. Ако акаунтът е надраснал плана си, изберете го и използвайте Mass Actions → Change Package, за да му увеличите наличните ресурси. Всички лимити се прилагат веднага, без миграция. Ако клиентът не се вписва в нито един от пакетите, задайте индивидуални стойности през Actions → Change Limits с включена опция Use Custom Limits. Ако причината е плъгин, който натоварва сървъра, кажете на клиента, че е нужна оптимизация на сайта.

Как да четете стойностите за CPU
Има една стойност, която може да обърка потребителите. Ето кратко обяснение: CPU лимит от 100 означава едно цяло ядро, 50 е половин ядро, а 200 са две ядра. Това е дял от ядро, а не от целия сървър, затова сравнявайте историята на CPU потреблението с лимита на самия акаунт.
Важно е да знаете и какво прави лимитът. Когато акаунт достигне лимита си за CPU, SPanel ограничава процесите му, но не ги спира. Сайтът се забавя заради собственото си натоварване, а всички останали акаунти работят с пълна производителност. Ограниченият акаунт не е повреден. Той просто е достигнал максимума на плана, за който плаща. Точно този сигнал е даден от SPanel, а ограничението предпазва сървъра от проблема с шумните съседи (noisy neighbor).
Определяйте лимитите по данни и ги защитавайте с данни. Историята вече е записана. Остава само да я прочетете.
Как прегледът се превръща в реални действия
Когато правите прегледа всеки месец, ще започнете да виждате определени закономерности. Ако едни и същи три акаунта използват най-много ресурси всяка седмица, може би е редно да помислят за по-голям план. Сайт, който е натоварен само между 01:00 и 02:00 ч., има проблем с cron задача, а не с капацитета. След няколко месеца прегледите стават основа за начина, по който разпределяте наличните ресурси.
Често задавани въпроси
В: Как да разбера кои акаунти използват най-много CPU на сървъра?
О: Отворете Resource Usage → Usage History и вижте таблицата Weekly Usage By Users. Тя показва CPU на всеки акаунт спрямо собствения му лимит и броя CPU Limit Hits за избраната седмица. Кликнете View на даден акаунт, за да видите историята на CPU потреблението по дати.
В: Какво означава стойност 100 за CPU?
О: Едно цяло ядро. 50 означава половин ядро, а 200 са две ядра. Това е дял от ядро, а не процент от целия сървър.
В: Какво се случва с акаунт, който постоянно достига лимита си за CPU?
О: Процесите му се ограничават, но не се спират. Те получават само своя дял от процесорното време, така че сайтът се забавя заради собственото си натоварване, а останалите акаунти работят с пълна производителност. Ако ограничаването е постоянно, е време за по-голям план или за отстраняване на причината.
В: Мога ли да спра процес, който натоварва сървъра, без да влизам през SSH?
О: Да. Панелът Currently Running Users Processes в Admin Interface показва всички текущи процеси на сървъра и позволява да спрете отделен процес директно от панела.
В: Нужен ли ми е CloudLinux, за да виждам тези данни?
О: Не. Списъкът с акаунти, Usage History, историята на CPU и мониторът на процесите са част от SPanel и са включени във всеки управляван VPS план на NS1. Лимитите за отделните акаунти в SPanel работят с контролните групи (cgroups) на ядрото на Linux.
В: Акаунт е надраснал плана си. Кое е най-лесното решение?
О: Задайте му по-голям пакет от Actions → Change Limits. Всички лимити се прилагат веднага, без миграция и без прекъсване на работата. Ако клиентът не се вписва в нито един от пакетите, задайте индивидуални стойности през опцията Use Custom Limits.
Вижте как работи на реален сървър
Инструментите за следене на потреблението на ресурси в SPanel са създадени отчасти по заявки в Cloud Democracy (на английски), публичната платформа за предложения за нови функции на SPanel. Ако искате нова функционалност, можете да я предложите там. API-то зад тези екрани е описано в документацията на SPanel (на английски), а механизмът на ядрото, на който се основават лимитите, в документацията за cgroups v2 (на английски).