Ինչպե՞ս եք իրականացնում սերվերի խնդիրների լուծման գործընթացը բարձր բեռի դեպքում: Որ ցուցանիշները եք վերլուծում և որ utility-ները եք օգտագործում:
sobes.tech AI
Պատասխան AI-ից
Սկսելու եմ համակարգային մետրիկների վերլուծությամբ՝ բարձր բեռի պատճառները հայտնաբերելու համար:
Անհրաժեշտ ցուցանիշներ՝
load average: միջին գործընթացների քանակը, որոնք սպասում են կատարմանը: Բարձր արժեքը ցույց է տալիս CPU-ի ծանրաբեռնվածություն կամ մուտք-արտահոսքի սպասում:CPU utilization: պրոցեսորի ժամանակի օգտագործման տոկոսը: Օգնում է հասկանալ, որ մասը CPU-ի զբաղված է՝ օգտվողական գործընթացներ, համակարգային կանչեր կամ հանգիստ:Memory utilization: օպերատիվ հիշողության օգտագործում: Բարձր սպառում կարող է հանգեցնել ակտիվ swap-ի, ինչը զգալիորեն նվազեցնում է կատարողականությունը:Disk I/O: ընթերցման/գրելու ինտենսիվություն սկավառական սարքերում: Բարձր ակտիվությունը կարող է լինել խոչընդոտ:Network activity: ելքային և մուտքային տրաֆիկ, ցանցային կապերի քանակ: Բարձր բեռը կարող է պայմանավորված լինել ցանցային խնդիրներով կամ DoS հարձակումով:Process list: գործարկված գործընթացների ցանկ, նրանց ռեսուրսների սպառում, վիճակ: Օգնում է հայտնաբերել կոնկրետ գործընթացը, որը բեռ է ստեղծում:
Տեղական գործիքներ՝
-
top/htop: համակարգային ռեսուրսների և գործընթացների ինտերակտիվ մոնիտորինգ՝ իրական ժամանակում: Позволяет сортировать процессы по потреблению ЦПУ, памяти, и т.д.# top -c // отображение полной командной строки -
vmstat: վիրտուալ հիշողության, գործընթացների, CPU և մուտք-արտահոսքի ակտիվության հաշվետվություն:# vmstat 1 // յուրաքանչյուր վայրկյան -
iostat: սկավառական սարքերի ակտիվության և կատարողականության մոնիտորինգ:# iostat -xz 1 // ընդլայնված ելք յուրաքանչյուր վայրկյան -
netstat/ss: ցանցային կապերի, երթուղիների, ցանցային ինտերֆեյսների վիճակագրության տեղեկություններ:# netstat -tunapl // TCP/UDP կապեր, LISTEN socket-ներ, պորտեր, PID # ss -tunapl -
sar: համակարգային ակտիվության հավաքում, հաշվետվություններ և վերլուծություն (CPU, հիշողություն, սկավառական, ցանց): Օգտագործվում է պատմական կատարողականության վերլուծության համար:# sar -u 5 5 // CPU յուրաքանչյուր 5 վայրկյան, 5 անգամ # sar -d 5 5 // սկավառական յուրաքանչյուր 5 վայրկյան, 5 անգամ # sar -n DEV 5 5 // ցանց յուրաքանչյուր 5 վայրկյան, 5 անգամ -
iftop/nethogs: ինտերակտիվ մոնիտորինգ ցանցային տրաֆիկի ըստ ինտերֆեյսների կամ գործընթացների:# iftop -i eth0 // eth0 ինտերֆեյսի մոնիտորինգ # nethogs eth0 // ցանցային տրաֆիկի մոնիտորինգ գործընթացների վրա -
dstat: համապարփակ գործիք, որը միավորում է vmstat, iostat, netstat հնարավորությունները:# dstat -c -m -d -n // CPU, հիշողություն, սկավառական, ցանց -
strace/lsof: համակարգային կանչերի трасսավորում (strace) և բացված ֆայլերի ցանկ (lsof) կոնկրետ գործընթացի համար:# strace -p <PID> // գործընթացի трасսավորում PID-ով # lsof -p <PID> // բաց ֆայլեր գործընթացի PID-ով
Աշխատանքը կշարունակվի՝ մետրիկների հիման վրա խոչընդոտային կետը հայտնաբերելու, համապատասխան գործիքով մանրամասնելու, պատճառը վերլուծելու (օրինակ՝ կոնկրետ գործընթաց), և համապատասխան միջոցներ ձեռնարկելու (օրինակ՝ վերագործարկում կամ օպտիմալացում, ռեսուրսների ավելացում): Կարևոր է նաև ստուգել հավելվածների և համակարգի լոգերը (journalctl, /var/log/*)։