Калі сервер перагружаны, віртуальны або выдзелены, гэта прыводзіць да таго, што вэб-сайты загружаюцца павольна і ствараюць раздражняльныя памылкі замест кантэнту. Неабходна ўважліва сачыць за яго параметрамі і своечасова праводзіць аналіз рэсурсаў, каб пазбегнуць такога зыходу,
Далей мы разгледзім дыягностыку асобных рэсурсаў з дапамогай інструментаў хостынг-правайдэра, а таксама праз тэрмінал на баку сервера. Акрамя таго, мы разгледзім розныя падыходы да вырашэння праблем, звязаных з нізкай прадукцыйнасцю сістэмы. Інструкцыі адносяцца да любых сервераў пад кіраваннем АС Linux, незалежна ад прадусталяванага праграмнага забеспячэння.
Праверка рэсурсаў сервера праз VMmanager
Інструмент віртуалізацыі VMmanager - самае простае, але ў той жа час універсальнае рашэнне для дыягностыкі. Ён гуляе ключавую ролю ў забеспячэнні эфектыўнага кіравання прысвечаных or віртуальныя серверы на большасці сучасных хостынг-правайдэраў. У якасці прыкладу, праверка будзе выканана на версіі 6 інструмента, аднак папярэднія версіі таксама могуць праводзіць падобную дыягностыку.
Для аналізу трэба звярнуцца да ст VMmanager панэлі кіравання і абярыце патрэбную віртуальную машыну:
Далей карыстальнік можа адразу ўбачыць выкарыстанне рэсурсаў у рэжыме рэальнага часу. Каб атрымаць больш падрабязную статыстыку, трэба выбраць «Параметры»:
Укладка падрабязнай статыстыкі ўверсе адлюстроўвае агульныя характарыстыкі сервера і тып віртуалізацыі. На графіках вы бачыце загружанасць сеткі, загрузку працэсара, выкарыстанне аператыўнай памяці і дыскавай прасторы ў рэжыме рэальнага часу:
Для больш дэталёвага аналізу статыстыкі дыскавай прасторы або рэсурсаў за пэўны перыяд неабходна выбраць адпаведны пункт меню. Інфармацыя аб віртуальных дысках адлюстроўваецца ў наступным фармаце:
Статыстыка загрузкі канкрэтнага рэсурсу адлюстроўваецца ў выглядзе зручнага графіка:
Ёсць магчымасць адлюстравання графіка нагрузкі за дзень, тыдзень, месяц, год або ўручную выбраць неабходныя даты. Адлюстроўваюцца ўсе асноўныя рэсурсы: працэсар, аператыўная памяць, сховішча, сеткавы інтэрфейс.
Многія карыстальнікі чакаюць, што рэсурсы будуць выкарыстоўвацца раўнамерна на працягу пэўнага перыяду. Аднак гэта не заўсёды так. Напрыклад, сеткавы інтэрфейс можа выглядаць падобна нават у рэжыме чакання:
Ніякіх мер у гэтым выпадку не патрабуецца. Аднак у выпадку працэсара, аператыўнай памяці або дыскавай памяці сервер не павінен выкарыстоўваць усе 100% сваіх рэсурсаў на пастаяннай аснове; рэкамендуемая нагрузка - не больш за 70%.
Праверка рэсурсаў сервера ў тэрмінале
Аналіз агульнай нагрузкі
Раней мы разглядалі некаторыя варыянты аналізу ў Агульная дыягностыка рэсурсаў сервера артыкул. Там мы гаварылі аб стандартных інструментах, такіх як зверху/уверх, а таксама паглядзеў на ўстаноўку і наладу netdata утыліта, якая дазваляе кантраляваць рэсурсы сервера праз браўзер. У гэтым артыкуле мы разгледзім HTOP як альтэрнатыва топ утыліта для агульнага аналізу рэсурсаў сістэмы.
Інструмент не прадусталяваны ў дыстрыбутывах Linux па змаўчанні, таму пачнем з усталёўкі. Для Debian/Ubuntu мы выкарыстоўваем каманду:
apt-get install htop
Для CentOS больш разумна выкарыстоўваць ЭПЕЛ сховішчы. Па змаўчанні яны адключаныя, таму першая каманда адказвае за іх даданне, а другая - за ўстаноўку HTOP:
yum -y install epel-release
yum install htop -y
Адразу пасля ўстаноўкі вы можаце адкрыць утыліту з меню прыкладання або ў тэрмінале адпаведнай камандай:
htop
У выніку карыстальнік зможа бачыць усю інфармацыю аб сістэме:
У левым верхнім куце адлюстроўваюцца даныя працэсара, у тым ліку выкарыстанне кожнага ядра, аператыўнай памяці і памяці падпампоўкі. Памяць падпампоўкі ў Linux выкарыстоўваецца ў выпадку недахопу аператыўнай памяці, забяспечваючы стабільнасць сістэмы. У правым верхнім куце вы бачыце загрузку працэсара і колькасць актыўных задач. У цэнтральнай частцы паказаны актыўныя працэсы з магчымасцю сартавання. У ніжняй частцы прадстаўлена інфармацыя аб гарачых клавішах і функцыянальнасці. Раздзел «Даведка» змяшчае падрабязнае апісанне магчымасцяў праграмы:
Перш чым дыягнаставаць саму сістэму, неабходна дакладна зразумець, колькі ядраў/працэсараў выкарыстоўваецца на серверы. Іх кошт карыстальнік можа даведацца ў левым верхнім куце HTOP утыліта:
Або выканаўшы каманду:
nproc
У залежнасці ад атрыманага значэння будзе разлічана дапушчальная агульная нагрузка (Сярэдняя нагрузка ў правым верхнім куце). У нашым выпадку ён роўны 2, што азначае, што максімальная нагрузка роўная 2.0. Аднак гэта не значыць, што сістэма цалкам завісне пад нагрузкай 2.0. Гэта колькасць можа быць і больш, але ў гэтым выпадку ўсе астатнія задачы будуць стаяць у чарзе, а сам сервер будзе загружаны. Ідэальным значэннем лічыцца нагрузка не больш за 70%. Напрыклад, сярэдняя нагрузка павінна быць у межах 0.7 на аднапрацэсарным серверы. У выпадку з серверам з прыведзенага вышэй прыкладу добрым паказчыкам будуць значэння не вышэй за 1.4.
Выкарыстанне HTOP або яго аналагі, карыстальніку неабходна ацаніць асноўныя рэсурсы: сярэднюю загрузку працэсара, выкарыстанне аператыўнай памяці, дыскавай прасторы і сеткавага інтэрфейсу. Калі рэсурсы мінімальныя, вам трэба сартаваць працэсы па загрузцы працэсара, вызначыць працаёмкія аперацыі, а затым аптымізаваць або спыніць іх. Пры немагчымасці закрыцця праграмы або збоях аптымізацыі рэкамендуецца падумаць аб пераходзе на сервер з больш магутнай канфігурацыяй.
Праверка свабоднай аператыўнай памяці
У гэтым раздзеле мы больш падрабязна разгледзім важны аспект функцыянавання любога сервера - дастатковы ўзровень вольнай аператыўнай памяці.
Самы просты спосаб праверыць свабодную аператыўную памяць у любой сістэме Linux праз тэрмінал - гэта каманда:
free -m
На выхадзе атрымліваем наступныя дадзеныя ў мегабайтах: агульная, выкарыстаная, свабодная і кэшаваная аператыўная памяць, а таксама аб'ём падпампоўкі:
Інструмент карысны для атрымання агульных даных у пэўны момант часу. Для дынамічнай дыягностыкі выкарыстання аператыўнай памяці мы рэкамендуем vmstat утыліта, якая дазваляе наладзіць частату абнаўлення вывадной інфармацыі:
vmstat 1
У прыведзеным вышэй прыкладзе даныя будуць абнаўляцца кожную секунду. Выхад вырабляецца ў фармаце, аналагічным бясплатна:
Інструмент таксама дае агульную сістэмную інфармацыю, але ў нашым выпадку важныя толькі слупкі, якія адказваюць за аператыўную памяць, гэта значыць памяць і своп. Усе значэнні пазначаны ў кілабайтах. Давайце разгледзім іх больш падрабязна:
памяць (RAM):
- swpd: віртуальная памяць абменьваецца на фізічную.
- бясплатна: даступная фізічная памяць (RAM).
- buff: памяць, якая выкарыстоўваецца ў якасці буфера перад запісам на дыск.
- кэш: памяць, якая выкарыстоўваецца як кэш для паскарэння доступу.
Абмен
- si: памяць, якая выкарыстоўваецца як кэш для паскарэння доступу.
- so: дадзеныя, запісаныя з фізічнай памяці ў памяць падпампоўкі.
Асобна варта адзначыць той факт, што ўсе ўтыліты для дыягностыкі сістэмных рэсурсаў першапачаткова бяруць дадзеныя з логаў. У выпадку аператыўнай памяці карыстальнік зможа праглядаць дадзеныя непасрэдна, адкрыўшы адпаведны файл:
cat /proc/meminfo
Выхад даволі шырокі, але для аналізу памяці дастаткова звярнуць увагу на першыя запісы:
Праблемы з празмерным выкарыстаннем аператыўнай памяці часцей за ўсё звязаны з канкрэтнай задачай або працэсам. Для пачатку будзе дастаткова дыягностыкі з дапамогай звычайных інструментаў для выяўлення праблемных працэсаў. У якасці рашэння можна разгледзець аптымізацыю канкрэтнага прыкладання, уключэнне кэшавання і сціску дадзеных, калі гаворка ідзе пра вялікія аб'ёмы інфармацыі, або павелічэнне канфігурацыі сервера.
Кантроль дыскавай прасторы
Дыягностыка дыскавай прасторы сервера не менш важная, чым іншыя яго рэсурсы. Як правіла, сігналамі аб неабходнасці праверкі з'яўляюцца: немагчымасць стварэння або запісу ў існуючыя файлы, нізкая праца сістэмы і розныя памылкі ўводу/высновы.
Найбольш зручным спосабам праверкі з'яўляецца каманда:
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-адрасоў, партоў, колькасці перададзеных даных і хуткасці перадачы. Галоўная перавага праграмы - візуальнае афармленне загрузкі сеткавага канала:
Пасля дыягностыкі сеткавага канала сервера і выяўлення праблем з высокай нагрузкай рэкамендуецца павялічыць прапускную здольнасць сеткавых злучэнняў з боку хостынг-правайдэра або аптымізаваць налады канкрэтнага праблемнага інтэрфейсу. У якасці інструмента рэзервовага капіявання можна выкарыстоўваць розныя сістэмы маніторынгу, каб хутка адсочваць змены ў сеткавай актыўнасці і пры неабходнасці рэгулярна абнаўляць сеткавую інфраструктуру ў адпаведнасці з патрабаваннямі.
Conclusion
У заключэнне можна падкрэсліць, што дыягностыка рэсурсаў сервера з'яўляецца неад'емнай часткай эфектыўнага кіравання віртуальны і прысвечаных серверы. Артыкул даў нам магчымасць азнаёміцца з асноўнымі інструментамі для поўнага аналізу сервера, а таксама даў практычныя рэкамендацыі па ліквідацыі магчымых праблем. Рэгулярная дыягностыка сістэмы дазваляе бесперабойна працаваць серверу нават без актыўнага ўдзелу карыстальніка.