6 Клучни метрики на перформанси за следење во серверите на Линукс


Оваа серија од 4 дела ќе објасни шест клучни индикатори за перформанси што треба да се следат во серверот Линукс. До крајот на оваа серија, ќе разберете на кои фактори во системот Линукс треба да внимавате што придонесуваат за севкупните перформанси на системот, а исто така и за нивната релативна важност.

Дали вашиот сервер за Линукс е бавен или апликациите хостирани на него покажуваат неочекувано однесување или знаци на слаби перформанси? Многу фактори во серверот Линукс влијаат на неговите вкупни перформанси или на перформансите на апликациите хостирани на него.

Но, има неколку клучни метрики што треба да ги следите, а кои можат да влијаат на најкритичните работи, како што се времето на одговор или времето на извршување на процесите, пропусната моќ - вкупната количина на работа што серверот може да ја направи во дадено време и многу повеќе.

Ајде да ги погледнеме првите две клучни показатели за перформансите во овој прв дел од серијата.

1. Користење на процесорот на Linux

Бидејќи е мозокот на системот, правилно функционираниот CPU е критичен дел од вашиот Linux сервер или кој било компјутер. Затоа, употребата на CPU е еден од основните аспекти за следење на серверот Линукс, кој се користи за мерење на перформансите на системот во однос на пропусната моќ.

Постојат неколку алатки засновани на командна линија и графички кориснички интерфејс за следење на употребата на CPU на систем на Линукс како што е htop и многу повеќе.

Glances – Алатка за следење на Linux

Glances е алатка за следење во реално време со отворен код што следи неколку аспекти на вашиот Linux систем, како што се процесорот, меморијата, дискот и користењето на мрежата.

За да инсталирате glances на вашата дистрибуција на Linux, извршете:

$ sudo apt install glances             [On Debian, Ubuntu and Mint]
$ sudo yum install glances             [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-process/glances   [On Gentoo Linux]
$ sudo apk add glances                 [On Alpine Linux]
$ sudo pacman -S glances               [On Arch Linux]
$ sudo zypper install glances          [On OpenSUSE]    

Следното е слика од екранот на дел од алатката за следење погледи на серверот Debian Linux што прикажува статистика за користење на процесорот.

# glances

Овде вкупната употреба на процесорот е 29,5 проценти, а повеќе време на процесорот се користи од процесите или апликациите на корисничкиот простор. Го прикажува вкупниот број на задачи (156), бројот на задачи што се извршуваат (7), бројот на задачи во режим на мирување (81) и други. Исто така, стандардно прикажува листа на процеси според потрошувачката на процесорот.

Топ – Следете ги процесите на Linux

Врвната команда обезбедува динамичен приказ во реално време на сите процеси што се извршуваат во системот Linux заедно со процесорот и користењето на меморијата.

# top

htop – Прегледувач на процеси на Linux

htop е интерактивен прегледувач на процеси на системот Линукс и менаџер на процеси што ги прикажува информациите за сите процеси што се извршуваат од страна на процесорот и користењето на меморијата на системот.

За да инсталирате htop на вашата дистрибуција на Linux, извршете:

$ sudo apt install htop             [On Debian, Ubuntu and Mint]
$ sudo yum install htop             [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-process/htop   [On Gentoo Linux]
$ sudo apk add htop                 [On Alpine Linux]
$ sudo pacman -S htop               [On Arch Linux]
$ sudo zypper install htop          [On OpenSUSE]    

Следното е слика од екранот на алатката за следење htop, која прикажува листа на процеси кои се извршуваат според употребата на процесорот.

# htop

Врз основа на бројките што сте ги виделе во претходните слики од екранот, метриката за користење на CPU е поделена во три главни категории или состојби:

  • корисник – го означува процентот од времето на процесорот што го користат процесите на корисничкиот простор.
  • систем – го прикажува процентот на времето на процесорот што го користи кернелот.
  • неактивен – го прикажува процентот на времето на процесорот што не се користи активно.

Дополнително, постојат и следниве под-состојби на процесорот:

  • убаво – е подмножество на состојбата на корисникот што го означува процентот од времето на процесорот окупирано од процесите на ниво на корисник со позитивна убава вредност (понизок приоритет на распоред од другите процеси).
  • irq или здраво – го прикажува процентот на времето поминато на процесорот за сервисирање на хардверски прекини.
  • softirq или si – го прикажува процентот на времето поминато на процесорот за сервисирање на прекини на софтверот.
  • iowait или wa – подмножество на неактивна состојба што го покажува процентот на времето поминато на процесорот на чекање за I/O операции како што се читање и пишување на или од дискот .
  • украде – го прикажува процентот од времето на процесорот што го зема виртуелниот процесор во хипервизорот за неволно да чека физички процесор за време на обработка.

Следете го користењето на јадрото на процесорот на Linux

Ако вашиот сервер има повеќе од еден процесор (понекогаш се нарекува мулти-јадрен систем), можете исто така да ја следите употребата на секое јадро. Во погледи, едноставно притиснете 1 за да имате приказ како оној прикажан на следната слика од екранот.

Можете исто така да ја извршите следнава команда за да го пронајдете вкупниот број на процесори на вашиот сервер:

# cat /proc/cpuinfo | grep ^processor

За да ги пронајдете главните процеси што се извршуваат според употребата на процесорот, извршете ја следнава команда ps:

# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head

Можеби ви се допаѓа и:

  • Cpustat – Ја следи употребата на процесорот со извршување на процеси во Linux
  • Како да го убиете процесот на Linux користејќи Kill, Pkill и Killall
  • Како да се ограничи времето и употребата на меморија на процесите во Linux
  • 9 корисни команди за добивање информации за процесорот на Linux

2. Следете го оптоварувањето на процесорот на системот Linux

Оптоварувањето на CPU е бројот на процеси/нишки што користат или сакаат да го користат времето на процесорот. На Linux, не само што се работи за задачи што може да се извршуваат (не се блокирани од ништо, подготвени да работат на процесорот или чекаат во редот за извршување), туку и задачи во состојба на непрекинато мирување, на пример, процес што чека операција на В/И да заврши или други работи.

Тоа не е исто како и користењето на процесорот што го опфативме погоре. Просекот на оптоварување е просечно оптоварување на системот за одредено време, обично една, пет и петнаесет минути во Linux. Вашиот систем е неактивен ако просеците на оптоварување се 0,0.

Ако имате повеќејадрен сервер со 12 јадра и просечно оптоварување од 8,32 како што е прикажано на следната слика од екранот, тоа значи дека процесорот работи под капацитет и може да потрае повеќе оптоварување. Во случај просекот на оптоварување да биде 12, тоа подразбира полн капацитет.

# glances

Од друга страна, просекот на оптоварување кој е поголем од вкупниот број на јадра на процесорот покажува дека процесите се во редица - оптоварувањето се зголемува. Следната слика од екранот покажува систем кој е нездрав, тој е преоптоварен.

Запомнете дека ако просекот од 1 минута е поголем од просекот од 5 или 15 минути, како што е случајот во претходниот пример (68,24, 27,55, 12,11), тогаш тоа е индикатор дека оптоварувањето на процесорот се зголемува. Но, ако просекот од 1 минута е помал од просекот од 5 или 15 минути, тогаш товарот се намалува.

Може да ја користите и командата за време на работа или w за да ги видите просеците на оптоварување. Во овој пример, товарот се зголемува.

# uptime
OR
# w

Причини за висока употреба на процесорот или оптоварување на процесорот

Некои од најчестите причини за висок или екстремно висок процесор вклучуваат извршување на повеќе апликации/услуги интензивни на процесорот на ист сервер (со ниски спецификации за ресурси) и малициозен софтвер дизајниран да се реплицира одново и одново за да ги исцрпи системските ресурси. Апликациите за стриминг и игри, исто така, може да предизвикаат екстремно висока употреба на процесорот и оптоварување на процесорот кога сообраќајот е голем.

Освен тоа, нападите DoS или DDoS можат да предизвикаат апсурдно голем број на врски и барања до хостирани апликации кои бараат дополнителни сложени пресметки од процесорот. Грешки или неоптимизиран код во апликациите понекогаш може да предизвикаат бесконечни циклуси што може да го исцрпат достапното време на процесорот.

Забелешка: можно е да имате низок процент на искористување на процесорот, а сепак многу висок систем или оптоварување на процесорот. Таквата ситуација може да биде предизвикана од тоа што има многу нишки во состојба на непрекинато мирување плус нормална побарувачка на процесорот.

Можеби ви се допаѓа и:

  • Основни безбедносни совети за заштита на системот Linux
  • Како да се подобри безбедноста на системот Linux
  • 5 најдобри практики за спречување на напади на SSH брутално-силно најавување во Linux
  • 7 корисни безбедносни карактеристики и алатки на Linux за почетници

Ефекти од високата употреба на процесорот или оптоварувањето на процесорот

Ако вашиот систем е преоптоварен, апликациите кои се интензивни на процесорот може да се замрзнат или да паднат, другите активни апликации може да станат бавни и на крајот да престанат да реагираат на внесувањето на корисникот; автоматизираните работни места како што се резервните копии и системските предупредувања може да не успеат, а апликациите може да се отвораат со темпо на полжав или воопшто да не се отвораат, и многу повеќе.

Минимизирање на високата употреба на процесорот и преоптоварувањето на процесорот

Следниве се неколку начини за решавање на високата употреба на процесорот или оптоварувањето на системот во серверите на Линукс:

  • Брзо додајте повеќе процесори, особено во виртуелни средини.
  • Рестартирајте ги апликациите кои се интензивни на процесорот каде што е потребно.
  • Стоп/оневозможи неискористени услуги/апликации.
  • Проверете дали има грешки или неоптимизиран код во корисничките апликации што може да резултираат со бесконечни циклуси.
  • Ограничете го бројот на врски или барања дозволени во веб-серверите, серверите за апликации и системите на бази на податоци за да се ублажат DoS или DDoS нападите.
  • Рестартирај го серверот онаму каде што е потребно ако почне да замрзнува.
  • Користете скрипти или апликации за следење за да поставите системски предупредувања што се активираат кога употребата на процесорот е ненормално висока.

Тоа е се за сега. Во следниот дел од оваа серија, ќе покриеме како да го следиме користењето на меморијата на серверот Линукс. До тогаш останете со нас.