Սերվերի ռեսուրսների դիագնոստիկա¶
Այս հոդվածում
Սերվերի ընդհանուր բեռնվածության վերլուծություն¶
Սերվերի վիճակը մոնիտորինգի համար օգտագործվում են ներկառուցված գործիքներ.
- Windows. «Task Manager»։
- Linux.
topօգնականը ցուցադրում է միջին բեռնվածությունը (Load Average) 1, 5 և 15 րոպեների ընթացքում։ Իդեալական ցուցանիշը արժեքն է, որը չի գերազանցում պրոցեսորի միջուկների քանակը։ Օրինակ՝ չորս միջուկանի սերվերի վրա LA 4-ը ցույց է տալիս միջուկների 100%-անոց օգտագործում, ինչը պահանջում է բեռնվածության անմիջական նվազեցում։
Լրացուցիչ.
atopկարմիր գույնով է ընդգծում բարձր ցուցանիշները։nmonապահովում է պրոցեսորի, սկավառակի, ցանցի և հիշողության բեռնվածության գրաֆիկներ։ Գրաֆիկները ակտիվացնելու համար օգտագործեք հատուկ ստեղներ, որոնց ցանկը ցուցադրվում է ծրագիրը գործարկելիս։
Ռեսուրսների մանրամասն վերլուծություն¶
Սկավառակի տարածք¶
Սկավառակի անբավարար տարածքը կարող է առաջացնել սխալներ, ինչպիսիք են «Unable to connect to the database: Could not connect to MySQL»-ը, նույնիսկ եթե սերվերը հասանելի է։ Ստուգելու համար.
df -hհրամանը ցույց է տալիս զբաղեցված և ազատ բաժինները։du -hs /*-ն օգնում է նույնականացնել մեծ թղթապանակները, օրինակ՝ հին արխիվները։- Պատահական ֆայլերի մաքրումը (օրագրեր, կեշե, PHP սեսիաներ)՝ տարածք ազատելու արդյունավետ եղանակ։
RAM¶
RAM-ի օգտագործման դինամիկ բնույթը պահանջում է կանոնավոր մոնիտորինգ։ free -m հրամանը ցույց է տալիս.
- Օգտագործված և ազատ հիշողություն։
- Օգտատիրոջ համար հասանելի հիշողության քանակը (
freeևcachedգումարը)։
Հիշողություն սպառող գործընթացները վերլուծելու համար օգտագործեք.
ps axo rss,comm,pid | awk '
{
# Group by process name (comm)
proc_list[$2]++;
# Sum RSS for each process
total_memory[$2] += $1;
}
END {
# Output results
for (proc in total_memory) {
printf("%.0fMB\t%s\n", total_memory[proc]/1024, proc);
}
}' | sort -nr | head -n 10
Ցանցային ալիք¶
Չափազանց մոնիտորինգի համար.
iftop-m 100Mդրոշմով ցուցադրում է ալիքի լայնությունը։ Եթե անցկացնելիությունը գերազանցում է 50b-ը (օգնականի սպիտակ շերտը), անհրաժեշտ է մեծացնել թողունակությունը։
Նշում
Կարող եք անհրաժեշտ լինել այս և այլ օգնականները տեղադրել նրանց կայքից կամ օպերացիոն համակարգի պահեստից։
Մոնիտորինգ բրաուզերի միջոցով¶
Բրաուզերի միջոցով մոնիտորինգի համար սերվերի վրա կարելի է տեղադրել մասնագիտացված գործիքներ.
- Munin և NetData՝ ապահովում են պրոցեսորի, հիշողության, սկավառակի և երթևեկության բեռնվածության գրաֆիկներ։
Որոշ հոսթինգի կառավարման պանելներ, ինչպիսիք են ispmanager-ը, թույլ են տալիս ռեսուրսների վերլուծություն ինտերֆեյսի միջոցով՝ գործընթացների հետևում, սկավառակի տարածքի օգտագործում և այլն։
Apache և MySQL-ից բեռնվածության վերլուծություն¶
Եթե սերվերի բարձր բեռնվածությունը պայմանավորված է Apache-ով, այն ստանում է հարցումների մեծ քանակ 80 և 443 պորտերում։ Բեռնվածությունը նվազեցնելու համար խորհուրդ է տրվում սերվերի վրա օգտագործել Nginx, միացնել տվյալների սեղմումը և կարգավորել կեշե ստատիկ ռեսուրսների համար։
Այդպիսի հարցումների հնարավոր պատճառները կարող են տարբեր լինել. օրինական կայքի երթևեկություն, որոնման համակարգերի բոտների ակտիվություն կամ ավելի լուրջ՝ DDOS հարձակում։ Եթե պայմանավորված է որոնման համակարգերի բոտներով, կարող եք նվազեցնել նրանց հարցումների ինտենսիվությունը՝ կարգավորելով սերվեր այցելությունների միջակայքերը Yandex.Webmaster և Google Webmasters Tool կարգավորումներում։ Հարձակման դեպքում սովորական կարգավորումները չեն օգնի՝ անհրաժեշտ կլինի իրականացնել լրացուցիչ պաշտպանության միջոցառումներ, ինչպիսիք են մասնագիտացված գործիքները կամ ամպային լուծումները։
Բարձր բեռնվածությունը կարող է նաև պայմանավորված լինել MySQL-ի աշխատանքով։ Այս դեպքում խորհուրդ է տրվում օպտիմալացնել ծառայության պարամետրերը՝ օգտագործելով Mysqltuner օգնականը։ Նաև ուշադրություն դարձրեք տվյալների բազաներ ուղարկվող SQL հարցումներին և ստուգեք դրանց արդյունավետությունը։ Այս նպատակով կարող եք օգտագործել show full processlist հրամանը, որը ցուցադրում է ընթացիկ MySQL գործողությունների ցանկը։
Կարևոր է նաև մոնիտորինգի ենթարկել top օգնականի WA ցուցանիշը։ Եթե այս պարամետրի արժեքը գերազանցում է 20-ը, դա կարող է ցույց տալ, որ տվյալները չեն կարող արագ գրվել սկավառակի վրա, ինչը հանգեցնում է ձախողումների։ Այդպիսի իրավիճակներում խորհուրդ է տրվում թարմացնել սարքավորումները, օրինակ՝ տեղադրել SSD կամ NVMe սկավառակներ, որոնք ապահովում են ավելի բարձր արդյունավետություն։