Kai serveris yra perkrautas, nesvarbu, ar tai būtų virtualus, ar dedikuotas, svetainės įkeliamos lėtai ir vietoj turinio atsiranda erzinančių klaidų. Būtina atidžiai stebėti jo parametrus ir laiku atlikti išteklių analizę, kad būtų išvengta tokio rezultato,
Toliau apžvelgsime atskirų išteklių diagnostiką naudodami prieglobos teikėjo įrankius, taip pat per serverio pusėje esantį terminalą. Be to, mes apsvarstysime įvairius su prastu sistemos veikimu susijusių problemų sprendimo būdus. Instrukcijos taikomos visiems serveriams, kuriuose veikia Linux OS, neatsižvelgiant į iš anksto įdiegtą programinę įrangą.
Tikrinami serverio ištekliai per VMmanager
VMmanager virtualizacijos įrankis yra paprasčiausias, bet kartu ir universalus diagnostikos sprendimas. Ji atlieka pagrindinį vaidmenį užtikrinant veiksmingą valdymą skirta or virtualūs serveriai daugelyje šiuolaikinių prieglobos paslaugų teikėjų. Pavyzdžiui, patikrinimas bus atliktas naudojant 6 įrankio versiją, tačiau ankstesnėse versijose taip pat gali būti atliekama panaši diagnostika.
Norėdami atlikti analizę, turite eiti į VM valdytojas valdymo skydelį ir pasirinkite norimą virtualią mašiną:
Tada vartotojas gali iš karto matyti išteklių naudojimą realiuoju laiku. Norėdami gauti išsamesnės statistikos, turite pasirinkti „Parametrai“:
Išsamios statistikos skirtuke viršuje rodomos bendrosios serverio charakteristikos ir virtualizacijos tipas. Diagramose galite matyti tinklo perkrovą, procesoriaus apkrovą, RAM ir vietos diske naudojimą realiuoju laiku:
Norėdami detaliau analizuoti vietos diske ar išteklių statistiką tam tikram laikotarpiui, turite pasirinkti atitinkamą meniu elementą. Informacija apie virtualius diskus rodoma tokiu formatu:
Konkretaus ištekliaus įkėlimo statistika rodoma patogios diagramos pavidalu:
Galima rodyti dienos, savaitės, mėnesio, metų apkrovos grafiką arba rankiniu būdu pasirinkti reikiamas datas. Rodomi visi pagrindiniai ištekliai: procesorius, RAM, saugykla, tinklo sąsaja.
Daugelis vartotojų tikisi, kad tam tikrą laikotarpį ištekliai bus naudojami tolygiai. Tačiau taip būna ne visada. Pavyzdžiui, tinklo sąsaja gali atrodyti panašiai net ir laukimo režimu:
Šiuo atveju jokių priemonių nereikia. Tačiau procesoriaus, RAM ar disko saugyklos atveju serveris neturėtų nuolat naudoti visų 100% savo išteklių; rekomenduojama apkrova yra ne didesnė kaip 70%.
Tikrinami serverio ištekliai terminale
Bendros apkrovos analizė
Anksčiau peržiūrėjome kai kurias analizės parinktis Bendra serverio resursų diagnostika straipsnis. Ten kalbėjome apie standartines priemones, tokias kaip viršuje / viršuje, taip pat apžvelgė diegimą ir konfigūravimą „Netdata“ įrankis, leidžiantis stebėti serverio išteklius per naršyklę. Šiame straipsnyje mes apžvelgsime htop kaip alternatyva viršų bendrosios sistemos išteklių analizės įrankis.
Pagal numatytuosius nustatymus įrankis nėra iš anksto įdiegtas Linux platinimuose, todėl pradėkime nuo diegimo. Debian / Ubuntu mes naudojame komandą:
apt-get install htop
„CentOS“ atveju prasmingiau naudoti ŠILTA saugyklos. Pagal numatytuosius nustatymus jie yra išjungti, todėl pirmoji komanda yra atsakinga už jų pridėjimą, o antroji - už įdiegimą htop:
yum -y install epel-release
yum install htop -y
Iškart po įdiegimo galite atidaryti naudingumą iš programos meniu arba terminale naudodami atitinkamą komandą:
htop
Dėl to vartotojas galės matyti visą informaciją apie sistemą:
Viršutiniame kairiajame kampe rodomi procesoriaus duomenys, įskaitant kiekvieno branduolio, RAM ir mainų atminties naudojimą. Swap atmintis Linux sistemoje naudojama esant RAM stygiui, užtikrinant sistemos stabilumą. Viršutiniame dešiniajame kampe galite matyti procesoriaus apkrovą ir aktyvių užduočių skaičių. Centrinėje dalyje rodomi aktyvūs procesai su galimybe rūšiuoti. Apatinėje dalyje pateikiama informacija apie sparčiuosius klavišus ir funkcijas. Skyriuje „Pagalba“ pateikiamas išsamus programos galimybių aprašymas:
Prieš diagnozuojant pačią sistemą, būtina tiksliai suprasti, kiek branduolių/procesorių naudojama serveryje. Vartotojas gali sužinoti jų vertę viršutiniame kairiajame kampe htop naudingumas:
Arba vykdydami komandą:
nproc
Atsižvelgiant į gautą vertę, bus apskaičiuojama leistina bendra apkrova (Apkrovos vidurkis viršutiniame dešiniajame kampe). Mūsų atveju jis yra lygus 2, o tai reiškia, kad maksimali apkrova yra 2.0. Tačiau tai nereiškia, kad sistema visiškai užšals esant 2.0 apkrovai. Šis skaičius gali būti didesnis, tačiau tokiu atveju visos kitos užduotys bus eilėje, o pats serveris bus įkeltas. Idealiąja verte laikoma apkrova ne didesnė kaip 70%. Pavyzdžiui, vieno procesoriaus serveryje apkrovos vidurkis turėtų būti 0.7. Serverio atveju aukščiau minėtame pavyzdyje geras rodiklis būtų ne didesnės nei 1.4 reikšmės.
Naudojant htop ar jo analogus, vartotojas turi įvertinti pagrindinius išteklius: vidutinę procesoriaus apkrovą, RAM naudojimą, vietos diske ir tinklo sąsają. Jei ištekliai yra minimalūs, reikia rūšiuoti procesus pagal procesoriaus naudojimą, nustatyti daug eikvojančias operacijas ir jas optimizuoti arba nutraukti. Jei programos uždaryti neįmanoma arba optimizavimas nepavyksta, rekomenduojama apsvarstyti galimybę pereiti prie galingesnės konfigūracijos serverio.
Tikrinama laisvoji RAM
Šioje dalyje atidžiau pažvelgsime į svarbų bet kurio serverio funkcionavimo aspektą – pakankamą laisvos RAM lygį.
Lengviausias būdas patikrinti laisvą RAM bet kurioje „Linux“ sistemoje per terminalą yra komanda:
free -m
Išvestyje gauname šiuos duomenis megabaitais: bendra, naudota, nemokama ir talpykloje saugoma RAM, taip pat apsikeitimo apimtis:
Įrankis naudingas norint gauti bendrus duomenis konkrečiu momentu. Dinaminės RAM naudojimo diagnostikai rekomenduojame vmstat įrankis, leidžiantis sukonfigūruoti išvesties informacijos atnaujinimo dažnį:
vmstat 1
Aukščiau pateiktame pavyzdyje duomenys bus atnaujinami kas sekundę. Išvestis gaminama panašiu formatu nemokamai:
Įrankis taip pat pateikia bendrą sistemos informaciją, tačiau mūsų atveju svarbūs tik stulpeliai, kurie yra atsakingi už RAM, tai yra, atmintį ir apsikeitimą. Visos reikšmės nurodytos kilobaitais. Pažvelkime į juos išsamiau:
atmintis (R.A.M):
- partija: virtualioji atmintis pakeista į fizinę.
- nemokamai: turima fizinė atmintis (RAM).
- mėgėjas: atmintis naudojama kaip buferis prieš įrašant diską.
- slėptuvė: atmintis naudojama kaip talpykla prieigai paspartinti.
Keistis
- si: atmintis naudojama kaip talpykla prieigai paspartinti.
- so: duomenys, įrašyti iš fizinės atminties į mainų atmintį.
Atskirai verta paminėti faktą, kad visi sistemos ištekliai, diagnozuojantys komunalines paslaugas, iš pradžių ima duomenis iš žurnalų. RAM atveju vartotojas galės peržiūrėti duomenis tiesiogiai atidaręs atitinkamą failą:
cat /proc/meminfo
Išvestis yra gana plati, tačiau norint analizuoti atmintį, pakanka atkreipti dėmesį į pirmuosius įrašus:
Problemos, susijusios su pernelyg dideliu RAM naudojimu, dažniausiai yra susijusios su konkrečia užduotimi ar procesu. Pradžioje užteks diagnostikos naudojant įprastus įrankius probleminiams procesams nustatyti. Kaip sprendimą galite apsvarstyti galimybę optimizuoti konkrečią programą, įgalinti talpyklą ir duomenų glaudinimą, jei kalbame apie didelius informacijos kiekius, arba padidinti serverio konfigūraciją.
Disko vietos valdymas
Serverio disko vietos diagnostika yra ne mažiau svarbi nei kiti jo ištekliai. Paprastai signalai apie būtinybę tikrinti yra: nesugebėjimas kurti ar rašyti esamus failus, lėtas sistemos veikimas ir įvairios įvesties/išvesties klaidos.
Patogiausias būdas patikrinti yra komanda:
df -h
Atsakydamas įrankis parodys informaciją apie visus prijungtus disko skaidinius:
Galite naudoti šią komandą detalesniam katalogų stebėjimui:
du -hs /*
Tokiu būdu vartotojas galės sužinoti, kiek vietos užima kiekvienas katalogas. Norėdami atkurti sistemos našumą, turėsite optimizuoti disko skaidinį, kuris sunaudoja daugiausiai atminties. Rekomenduojama neleisti naudoti daugiau kaip 80-90% laisvos vietos nuo viso naudojamo kiekio; stabiliam sistemos darbui turėtų pakakti likusių 10-20%. Jei optimizuoti neįmanoma, rekomenduojama padidinti vietos diske. Tai galima atlikti pridedant naujus arba išplečiant esamus diskus, taip pat naudojant debesies saugyklą. Nepriklausomai nuo pasirinkto sprendimo, rekomenduojama visada pasidaryti atsarginę kopiją, kad išvengtumėte failo praradimo.
Tinklo sąsajos patikrinimas
Paskutinis, bet ne mažiau svarbus serverio diagnostikos aspektas yra tinklo sąsajos patikrinimas. The netogai įrankis gali būti naudojamas, jei norite gauti bendros informacijos apie tai, kiek srauto realiuoju laiku sudaro tinklo procesai.
Diegimas ir paleidimas Cent OS:
yum install nethogs
nethogs
„Debian“ / „Ubuntu“:
apt-get install nethogs
nethogs
Įrankis parodys tuos procesus, kurie šiuo metu naudoja tinklo išteklius:
Rekomenduojame naudoti iftop detalesnei analizei.
Diegimas ir paleidimas Cent OS:
yum install iftop
iftop
„Debian“ / „Ubuntu“:
apt-get install iftop
iftop
Programos išvestis yra aktyvių jungčių sąrašas, nurodantis IP adresus, prievadus, perduodamų duomenų kiekį ir perdavimo greitį. Pagrindinis programos pranašumas yra vizualinis tinklo kanalo įkėlimo dizainas:
Diagnozavus serverio tinklo kanalą ir nustačius problemas esant didelei apkrovai, rekomenduojama padidinti tinklo jungčių pralaidumą prieglobos tiekėjo pusėje arba optimizuoti konkrečios probleminės sąsajos nustatymus. Kaip atsarginį įrankį galite naudoti įvairias stebėjimo sistemas, leidžiančias greitai sekti tinklo veiklos pokyčius ir prireikus reguliariai atnaujinti tinklo infrastruktūrą pagal reikalavimus.
Išvada
Apibendrinant galima pabrėžti, kad serverio išteklių diagnozavimas yra neatsiejama efektyvaus valdymo dalis virtualus bei skirta serveriai. Straipsnyje buvo suteikta galimybė susipažinti su pagrindiniais įrankiais, skirtais visapusiškai serverio analizei, taip pat pateiktos praktinės rekomendacijos galimų problemų šalinimui. Reguliari sistemos diagnostika leidžia serveriui veikti sklandžiai, net ir be aktyvaus vartotojo dalyvavimo.