Когато сървърът е претоварен, независимо дали е виртуален или специализиран, това кара уебсайтовете да се зареждат бавно и да създават дразнещи грешки вместо съдържание. Необходимо е внимателно да се следят неговите параметри и да се извършва своевременен анализ на ресурсите, за да се избегне подобен резултат,
След това ще разгледаме диагностицирането на отделни ресурси с помощта на инструментите на хостинг доставчика, както и чрез терминала от страната на сървъра. Освен това ще разгледаме различни подходи за решаване на проблеми, свързани с лоша производителност на системата. Инструкциите се отнасят за всички сървъри, работещи под Linux OS, независимо от предварително инсталирания софтуер.
Проверка на ресурсите на сървъра чрез VMmanager
Инструментът за виртуализация VMmanager е най-простото, но в същото време универсално решение за диагностика. Той играе ключова роля за осигуряване на ефективно управление на посветен or виртуални сървъри на повечето съвременни хостинг доставчици. Като пример, проверката ще бъде извършена на версия 6 на инструмента, но предишните версии също могат да извършват подобна диагностика.
За анализ трябва да отидете на VMmanager контролен панел и изберете желаната виртуална машина:
След това потребителят може незабавно да види използването на ресурси в реално време. За по-подробна статистика трябва да изберете „Параметри“:
Разделът с подробна статистика в горната част показва общите характеристики на сървъра и вида на виртуализацията. На графиките можете да видите претоварването на мрежата, натоварването на процесора, използването на RAM и дисково пространство в реално време:
За по-подробен анализ на статистиката на дисковото пространство или ресурсите за определен период от време трябва да изберете съответния елемент от менюто. Информацията за виртуалните дискове се показва в този формат:
Статистиката за натоварването за конкретен ресурс се показва под формата на удобна графика:
Възможно е да се покаже графика на натоварването за ден, седмица, месец, година или ръчно да изберете необходимите дати. Показани са всички основни ресурси: процесор, RAM, памет, мрежов интерфейс.
Много потребители очакват ресурсите да се използват равномерно за определен период. Това обаче не винаги е така. Например, мрежовият интерфейс може да изглежда подобно дори в неактивен режим:
В този случай не са необходими мерки. Въпреки това, в случай на процесор, RAM или дисково съхранение, сървърът не трябва да използва всичките си 100% от ресурсите си постоянно; препоръчителното натоварване е не повече от 70%.
Проверка на сървърните ресурси в терминала
Анализ на общото натоварване
Преди това разгледахме някои опции за анализ в Обща диагностика на сървърните ресурси статия. Там говорихме за стандартни инструменти като напр отгоре/отгоре, а също така разгледа инсталирането и конфигурирането на Нетни данни помощна програма, която ни позволява да наблюдаваме сървърните ресурси през браузъра. В тази статия ще разгледаме htop като алтернатива на връх помощна програма за общ анализ на системните ресурси.
Инструментът не е предварително инсталиран в дистрибуциите на Linux по подразбиране, така че нека започнем с инсталирането. За Debian/Ubuntu използваме командата:
apt-get install htop
За CentOS е по-разумно да използвате EPEL хранилища. Те са деактивирани по подразбиране, така че първата команда отговаря за добавянето им, а втората е за инсталирането htop:
yum -y install epel-release
yum install htop -y
Веднага след инсталирането можете да отворите помощната програма от менюто на приложението или в терминала със съответната команда:
htop
В резултат на това потребителят ще може да види цялата информация за системата:
Горният ляв ъгъл показва данни за процесора, включително използването на всяко ядро, RAM и суап памет. Суап паметта в Linux се използва в случаи на недостиг на RAM, осигурявайки стабилност на системата. В горния десен ъгъл можете да видите натоварването на процесора и броя на активните задачи. Централната част показва активни процеси с възможност за сортиране. Долната част предоставя информация за горещи клавиши и функционалност. Секцията „Помощ“ съдържа подробно описание на възможностите на програмата:
Преди да се диагностицира самата система, е необходимо да се разбере точно колко ядра/процесори се използват на сървъра. Потребителят може да разбере тяхната стойност в горния ляв ъгъл на htop полезност:
Или като изпълните командата:
nproc
В зависимост от получената стойност ще се изчисли допустимото общо натоварване (средно натоварване в горния десен ъгъл). В нашия случай то е равно на 2, което означава, че максималното натоварване е 2.0. Това обаче не означава, че системата ще замръзне напълно при натоварване 2.0. Този брой може да е по-голям, но в този случай всички останали задачи ще бъдат в опашката и самият сървър ще бъде зареден. Идеалната стойност се счита за натоварване не повече от 70%. Например средното натоварване трябва да бъде в рамките на 0.7 на еднопроцесорен сървър. В случая на сървъра в горепосочения пример добър индикатор биха били стойности не по-високи от 1.4.
Използването на htop или неговите аналози, потребителят трябва да оцени основните ресурси: средно натоварване на процесора, използване на RAM, дисково пространство и мрежов интерфейс. Ако ресурсите са минимални, трябва да сортирате процесите по използване на процесора, да идентифицирате операции с висока консумация и след това да ги оптимизирате или прекратите. Ако е невъзможно да затворите програмата или оптимизацията е неуспешна, препоръчително е да обмислите преминаване към сървър с по-мощна конфигурация.
Проверка на свободната RAM памет
В този раздел ще разгледаме по-подробно важен аспект от функционирането на всеки сървър - достатъчно ниво на свободна RAM.
Най-лесният начин да проверите свободната RAM на всяка Linux система чрез терминала е командата:
free -m
На изхода получаваме следните данни в мегабайти: обща, използвана, свободна и кеширана RAM, както и обем на суап:
Инструментът е полезен за получаване на общи данни в определен момент от време. За динамична диагностика на използването на RAM препоръчваме vmstat помощна програма, която ни позволява да конфигурираме честотата на актуализиране на изходната информация:
vmstat 1
В горния пример данните ще се актуализират всяка секунда. Резултатът се произвежда във формат, подобен на Безплатно:
Инструментът предоставя и обща системна информация, но в нашия случай са важни само колоните, които отговарят за RAM, тоест памет и суап. Всички стойности са посочени в килобайти. Нека ги разгледаме по-подробно:
памет (R.A.M):
- swpd: виртуална памет, заменена с физическа.
- Безплатно: налична физическа памет (RAM).
- полирам: памет, използвана като буфер преди запис на диск.
- скривалище: памет, използвана като кеш за ускоряване на достъпа.
размяна
- si: памет, използвана като кеш за ускоряване на достъпа.
- so: данни, записани от физическа памет в памет за размяна.
Отделно, заслужава да се спомене фактът, че всички помощни програми за диагностика на системни ресурси първоначално вземат данни от регистрационни файлове. В случай на RAM, потребителят ще може да види данните директно, като отвори съответния файл:
cat /proc/meminfo
Резултатът е доста обширен, но е достатъчно да обърнете внимание на първите записи, за да анализирате паметта:
Проблемите с прекомерното използване на RAM най-често са свързани с конкретна задача или процес. В началото ще бъде достатъчна диагностика с помощта на общи инструменти, за да се идентифицират проблемни процеси. Като решение можете да помислите за оптимизиране на конкретно приложение, активиране на кеширане и компресиране на данни, ако говорим за големи количества информация или увеличаване на конфигурацията на сървъра.
Контрол на дисковото пространство
Диагностиката на дисковото пространство на сървъра е не по-малко важна от другите му ресурси. По правило сигналите за необходимостта от проверка са: невъзможност за създаване или запис на съществуващи файлове, ниска производителност на системата и различни входно-изходни грешки.
Най-удобният начин за проверка е командата:
df -h
В отговор инструментът ще покаже информация за всички монтирани дискови дялове:
Можете да използвате тази команда за по-подробно наблюдение на директории:
du -hs /*
По този начин потребителят ще може да разбере колко място заема всяка директория. За да възстановите производителността на системата, ще трябва да оптимизирате дяла на диска, който консумира най-много памет. Препоръчително е да не позволявате да се използва повече от 80-90% от свободното пространство от общото количество; останалите 10-20% трябва да са достатъчни за стабилна работа на системата. Препоръчително е да увеличите дисковото пространство, ако оптимизацията не е възможна. Това може да стане чрез добавяне на нови или разширяване на съществуващи дискове, както и чрез използване на облачно хранилище. Независимо от избраното решение се препоръчва винаги да правите резервно копие, за да избегнете загуба на файлове.
Проверка на мрежовия интерфейс
Последният, но не по-малко важен аспект от диагностиката на сървъра е проверката на мрежовия интерфейс. The мрежи помощната програма може да се използва, ако искате да получите обща информация за това колко трафик се отчита от мрежовите процеси в реално време.
Инсталиране и стартиране на Cent OS:
yum install nethogs
nethogs
За Debian/Ubuntu:
apt-get install nethogs
nethogs
Инструментът ще покаже тези процеси, които използват мрежови ресурси в момента:
Препоръчваме ви да използвате iftop за по-подробен анализ.
Инсталиране и стартиране на Cent OS:
yum install iftop
iftop
За Debian/Ubuntu:
apt-get install iftop
iftop
Изходът на програмата е списък с активни връзки, посочващ IP адреси, портове, количество прехвърлени данни и скорост на трансфер. Основното предимство на програмата е визуалният дизайн на зареждането на мрежовия канал:
След диагностициране на мрежовия канал на сървъра и идентифициране на проблеми с високо натоварване се препоръчва да се увеличи честотната лента на мрежовите връзки от страна на хостинг доставчика или да се оптимизират настройките на конкретния проблемен интерфейс. Като инструмент за архивиране можете да използвате различни системи за наблюдение, за да проследявате бързо промените в мрежовата активност и, ако е необходимо, редовно да актуализирате мрежовата инфраструктура в съответствие с изискванията.
Заключение
В заключение може да се подчертае, че диагностицирането на сървърните ресурси е неразделна част от ефективното управление на виртуален намлява посветен сървъри. Статията ни даде възможност да разгледаме основните инструменти за пълен анализ на сървъра, а също така даде практически препоръки за отстраняване на възможни проблеми. Редовната системна диагностика позволява на сървъра да функционира безпроблемно, дори без активно участие на потребителя.