Despre Linux

  • Facebook
  • Twitter
  • LinkedIn
  • Acasă
  • Linux
    • Comenzi Linux
    • Tutoriale
  • Kubernetes
  • RHCSA
    • Exerciții RHCSA
    • SELinux
    • Permisiuni
  • General
    • Open source
  • Contact

Performanță Linux: analiză în 60 de secunde – partea a 2-a

20 mai 2017 By Bobses 4 comentarii

A sosit week-end-ul, a venit și timpul părții a doua a articolului despre Perfomanța în Linux și primele 60 de secunde după conectarea la un server.

5. pidtstat 1

Pidstat este o altă comandă care arată statistici despre procesele din Linux:

Pidstat seamă puțin cu top; spre deosebire de top, pidstat afișează un rezumat în derulare a proceselor. Poate fi utilă pentru a observa anumite modele  în timp, sau pentru a copia ceea ce vedem pentru o investigație ulterioară.

În exemplul de mai sus, se observă cum procesul webalizer consumă cel mai mult din procesor. Coloana %CPU arată procentul total pe care-l folosește procesorul pentru sarcina respectivă.

6. iostat -xz 1

Comanda iostat raportează statistici ale procesorului, dar și statistici input/output pentru partiții și device-uri. Este o unealtă folositoare pentru a înțelege block devices (discurile).

Să ne uităm după:

  • r/s, w/s, rkB/s, wkB/s: ne arată numărul de citiri, scrieri, citiri KB și scrieri de KB pe secundă pe un anumit device. O problemă de performanță poate fi cauzată de o încărcare excesivă a aplicațiilor care doresc să citească/scrie pe un anumit device.
  • await: timpul mediu pentru I/O în milisecunde. Reprezintă atât timpul de așteptare, cât și timpul de întreținere a unei aplicații. O valoare mare poate fi un indicator al saturației device-ului sau chiar al unor probleme fizice ale dispozitivului.
  • await qu-sz: mărimea medie (în sectoare) a cererilor care au fost trimise către dispozitiv. O valoare mai mare decât 1 poate evidenția saturația
  • %util: utilizarea device-ului. Procentul de timp care a trecut de când cererile I/O au fost emise către dispozitiv (lățimea de bandă a dispozitivului). saturarea device-ului intervine când această valoare este aproape de 100%. Valorile mai mari de 60% trebuie deja să ne atragă atenția.

7. free -m

Cele două coloane din dreapta arată:

  • buffers: memorie folosită de buffer-ul kernel-ului (utilizată pentru I/O pe block device)
  • cache: memorie folosită de cache-ul paginii (utilizată de fișierele de sistem)

Valoarea free ne arată memoria neutilizată.

Trebuie să ne uităm că cele două valori (buffers și cache) nu sunt aproape de zero, ceea ce ne-ar putea conduce la ideea unor I/O mari pentru disc și performanță proastă. În exemplul de mai sus valoarea la buffers este chiar 0, ceea ce nu e chiar așa de bine - kernelul nu mai are deloc buffer; la fel, memoria liberă este tot 0. Ar fi necesară o golire a cache-ului memoriei. Din păcate, virtualizarea OpenVZ pe care o am eu nu permite executarea comenzilor pentru drop_caches nici chiar de către root-ul instanței (pot fi executate doar de cineva cu drept de root pe nodul hardware) - încă un aspect care mă face să caut altă soluție pentru VPS și să renunț la porcăria asta de OpenVZ.

8. sar -n DEV 1

Acest tool este folosit pentru a verifica throughput-ul (cantitatea de date tranzitată) prin interfața de rețea: rxkB/s și txkB/s (numărul pachetelor recepționate, respectiv transmise pe secundă), ca măsuri ale workload-ului (datele de lucru). De asemenea, poate fi văzut dacă nu am atins anumite limite la interfața de rețea (rxkB/s - numărul de kB/s recepționați, txkB/s - numărul de kB/s transmiși) - aceste valori nu pot să se apropie prea mult de, să zicem, 100Mb/s cât ne permite providerul.

Valoarea %ifutil ne arate date despre utilizarea device-ului respectiv (în ambele direcții pentru full duplex).

9. sar -n TCP,ETCP 1

Este o sumarizare a unor valori TCP. Acestea includ:

  • active/s - numrăul de conexiuni TCP pe secunde inițiate local;
  • passive/s - numărul de conexiuni pe secunde inițiate remote;
  • retrans/s - numărul de segmente TCP retransmise pe secundă;
  • isegerr/s - numărul de segmente TCP primite pe secundă cu erori.

Contorizarea activului și pasivului reprezintă, adesea, o măsură brută a încărcării unui server Linux: numărul de noi conexiuni acceptate (passive) și numărul de noi conexiuni inițiate (active). Putem să ne gândim la activ ca fiind ceea ce iese, iar pasivul ceea ce intră în server.

Retransmiterea este un semnal al unei probleme de conectivitate a serverului: poate fi vorba de o rețea instabilă (de exemplu, în Internetul public), sau poate fi vorba de o supraîncărcare a serverului.

În exemplul de mai sus se observă un număr de 3 conexiuni noi pe secundă inițiate și de 1 până la 5 primite, fără erori.

10. top

Comanda top include multe metrici care au fost analizate în comenzile anterioare. Poate fi util să rulăm comanda top pentru a vedea dacă au intervenit schimbări în valori față de ceea ce am văzut înainte.

Nu voi insista asupra acestei comenzi - am mai vorbit despre ea aici. Comanda top vine inclusă în toate sistemele Linux, dar dacă doriți ceva mai mult puteți instala htop - am scris despre htop aici.

Sunt multe alte comenzi care pot fi folosite pentru a analiza performanța unui server Linux.

Unii dintre voi vor spune: nu pot să țin minte atâtea comenzi și semnificațiile fiecărei opțiuni - sunt multe, prea multe! Într-adevăr, așa este. Cum fac eu: pe lângă terminalul din care mă conectez prin ssh la un server, mai deschid un terminal unde citesc despre comanda respectivă (sau, mai bine, folosiți Terminator, care permite împărțirea aceleiași ferestre în mai multe terminale). Să spunem că în ssh am dat comanda de la punctul 8 - sar -n DEV 1; voi deschide un alt terminal în care voi rula man sar, astfel încât să văd în permanență ce înseamnă fiecare valoare afișată (în imaginea de mai jos comanda man sar am deschis-o în Terminator, într-un alt terminal dedesubtul primului):

Iar dacă aveți două monitoare e și mai bine! 🙂

Am descoperit că mă atrage în mod deosebit această parte a performanței sistemelor Linux și, în măsura timpului, sper să scriu mai multe articole despre asta.

Partajează asta:

  • Dă clic pentru a partaja pe Facebook(Se deschide într-o fereastră nouă)
  • Dă clic pentru a partaja pe LinkedIn(Se deschide într-o fereastră nouă)
  • Dă clic pentru a partaja pe Twitter(Se deschide într-o fereastră nouă)

Similare

Din categoria: Linux Etichete: linux, performanta

Comentarii

  1. Fekete Alexandru a zis

    23 mai 2017 la ora 21:50

    Mult stimate domnule sunt un impătimit al it ului dat la nivel de autodidact şi amteur aş dori dacă este posibil şi dispuneţi de timp şi bunăvoinţă să ma spijiniţi câte un pic in linux .Vă rog mult şi datorită faptului cî nu mai sunt tânăr am 65 de ani şi deşi am inceput incă in anul 1985 studiile it acasă incă mă consider începător, insă nu mi-am pierdut încă speranţa. De vreo 3 anişori lucrez numai ăn linux linux mint . Cunosc linuxul din Ian. 2004 am incercat şi Rad hat si suse fedora ubuntu debian apoi light linux iar acum de un timp incoace mint. Am o maşina cam demodata un dell gx 620 însă eu sunt mulţumit de performanţele lui. Prima intrebare aş dori la instalare ca direcorul home sa se instaleze pe un alt dard dar nu reuşesc nici cum se pare ca datorită faptului ca acel hard separet este cap ciupâtţi in multe multe fragmente şi deci in prima faza as dori să aflu cum aş putea face ca să aduc acel hard secundar sau al doi lea la o stare de cu o partitie continua. Vă mulţumesc anticipat pentru atenţie ,bunăvoinţă cât ţi tentru timpul irosit pentru mine. Adresa mea de mail va apre şi dacă se poate sî-mi răspundeţi pe mail. Cu stimă Alexandru Fekete din Oradea.

    Răspunde
    • Bobses a zis

      24 mai 2017 la ora 8:48

      Al doilea hard disk se conectează la calculator și apoi se formatează după dorință cu ajutorul Gparted.

      Răspunde

Trackbacks

  1. Performanță Linux: analiză în 60 de secunde - partea 1 | Despre Linux spune:
    18 iulie 2020 la 11:33

    […] Va urma! […]

    Răspunde
  2. Performanță Linux: analiză în 60 de secunde - partea 1 | Lumea lui Bobses spune:
    20 mai 2017 la 13:36

    […] Va urma! […]

    Răspunde

Lasă un răspuns Anulează răspunsul

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.

Copyright © 2023 · Bobses

Administrează consimțămintele pentru cookie-uri
Pentru a oferi cea mai bună experiență, folosim tehnologii, cum ar fi cookie-uri, pentru a stoca și/sau accesa informațiile despre dispozitive. Consimțământul pentru aceste tehnologii ne permite să procesăm date, cum ar fi comportamentul de navigare sau ID-uri unice pe acest site. Dacă nu îți dai consimțământul sau îți retragi consimțământul dat poate avea afecte negative asupra unor anumite funcționalități și funcții.
Funcționale Mereu activ
Stocarea tehnică sau accesul sunt strict necesare în scopul legitim de a permite utilizarea unui anumit serviciu cerut în mod explicit de către un abonat sau un utilizator sau în scopul exclusiv de a executa transmiterea unei comunicări printr-o rețea de comunicații electronice.
Preferințe
Stocarea tehnică sau accesul este necesară în scop legitim pentru stocarea preferințelor care nu sunt cerute de abonat sau utilizator.
Statistici
Stocarea tehnică sau accesul care sunt utilizate exclusiv în scopuri statistice. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
Stocarea tehnică sau accesul sunt necesare pentru a crea profiluri de utilizator pentru a trimite publicitate sau pentru a urmări utilizatorul pe un site web sau pe mai multe site-uri web în scopuri de marketing similare.
Administrează opțiunile Administrează serviciile Administrează vânzătorii Citește mai multe despre aceste scopuri
Vizualizează preferințele
{title} {title} {title}