Peamised tegurid Linuxi serveri ülekoormuses ressursi kitsaskoha leidmiseks

By | november 10, 2021

Vaatamata taskukohasele riistvarale on väga tavaline, et serveris on laadimisprobleeme. Serveri suurel koormusel võib olla mitu põhjust, näiteks ebapiisav RAM/CPU, aeglasemad kõvakettad või lihtsalt optimeerimata tarkvara. See artikkel aitab teil kindlaks teha, mis on kitsaskoht ja kuhu investeerida. Siiski ärge võtke seda professionaalse nõustamise/teenuse asendajana. Kui saate sellega seotud kulusid endale lubada, peaksite alati otsima professionaalset teenindust.

I) Esiteks, kas teil on tõesti probleeme?

Tavaliselt otsivad inimesed juhtpaneelidelt koormust, kasutades käsku “uptime” või “top”. Tõenäoliselt saate käivitada käsu “uptime” oma juurkehal, et teada saada, milline on koormus, kuid ma tahaksin, et kasutaksite praegu “top” (palun). See aitab teil tuvastada, kui palju protsessoreid teatatakse *. Peaksite nägema midagi sellist nagu cpu00, cpu01 jne.

Iga protsessori koormus ~ 1 on mõistlik. Näiteks on kõik korras, kui koormus on 3,50 ja teil on 4 protsessorit.

Teine asi, mida tuleb meeles pidada, vaadates koormust läbi tegevusaja või rohkem, on mõista, mida see näitab. Näiteks: (2HT CPU serveris, tähistatud kui 4)

18:30:55 kuni 17 päeva, 5:17, 2 kasutajat, keskmine üleslaadimine: 4,76, 2,97, 2,62

Esimene osa (3,76) näitab viimase 5 minuti keskmist koormust, teine ​​(2,97) ja kolmas (2,62) aga vastavalt 10 ja 15 minutit. See on ilmselt tipphetk, mille pärast ma liiga palju ei muretseks (natuke muretu?), Aga kui olete, siis jätkake lugemist!

Kas olete väga rahul sellega, kuidas suutsite tuvastada, et teie server on tegelikult ülekoormatud? Kahjuks ei tea kunagi, sest mõnikord suudavad serverid taluda palju suuremat koormust, kui on näidatud. Koormuse keskmised ei ole nii täpsed ja ei pruugi alati olla ülim otsustav tegur. Segaduses? See oli lihtsalt tehniline teave, mis ei pea teid nii palju häirima. Jätkake, kui teie koormate pärast muretsete.

* pane tähele termini “teadlik” kasutamist. Kasutasin seda terminit, kuna HT-tehnoloogiaga P4-protsessor on 2, isegi kui teate, et teie serveril on protsessor.

II) Kus on probleem?

Probleemi tuvastamiseks peate läbima rea ​​loogilisi teste (okei, see pole nii hirmutav, kui see kõlab). Kõik, mida vajate, on vaba aega, tõenäoliselt 30–45 minutit, ja juurjuurdepääsu oma serverile (ärge lootke maagiat;)). Kas olete valmis alustama? Siit teeme!

Märkus. Hea järelduse tegemiseks kontrollige mitu korda.

1. Kontrolli RAM-i (kõige levinum pudelikael!).

# tasuta -m

Väljund peaks välja nägema selline:

# tasuta -m

vahemälus kasutatud tasuta jagatud puhvrid kokku

Mem: 1963 1912 50 0 28 906

– / + puhvrid / peidetud: 978 985

Muudatused: 1027 157 869

Igasugune reaktsioon nagu “Oh issand, peaaegu kogu RAM on otsa saanud.”? Ära karda. Vaadake puhvreid / vahemälu, mis ütleb, et “985” MB RAM on puhvrites endiselt vaba. Niikaua kui teil on puhvrites piisavalt mälu ja teie server ei kasuta palju vahetust, saate RAM-iga päris hästi hakkama. Teie server hakkab kasutama SWAP-i (näiteks Pagefile), mis on osa teie mäluna eraldatud kettast, kuid see on suhteliselt väga aeglane ja võib teie süsteemi veelgi aeglustada, kui teil on hõivatud kõvaketas (milles ma kahtlen, et te seda teete). teeks, kui kasutate nii palju RAM-i). Lühidalt, puhvrites on saadaval vähemalt 175 MB ja mitte rohkem kui 200 MB vahetust.

Kui probleem on RAM-is, peaksite tõenäoliselt vaatama oma PHP / Perli skriptide, päringute + MySQL-serveri ja Apache optimeerimisi.

2. Kontrollige, kas sisend/väljund (sisend/väljund) ei kasutata liiga palju

Kui ühel kõvakettal on liiga palju lugemis-/kirjutustaotlusi, on see aeglane ja peate selle uuendama kiiremaks kettaks (suurema RPM-i ja vahemäluga). Alternatiiv ühele kiiremale draivile on jagada koormus mitmeks draiviks, hajutades suurema osa rakenduse sisust mitme draivi vahel, mida saab hõlpsasti saavutada “sümboliliste linkide” (failide/kaustade pehmed lingid) abil. Et tuvastada, kui teie sisend-/väljundprobleem põhjustab teie serveri viivitust, toimige järgmiselt.

# ülemus

Lugege iga protsessori väljundit jaotises “iowait”. Ideaalsetes olukordades peaks see olema 0% lähedal. Kui aga uurite koormuse haripunkti ajal, kaaluge nende väärtuste mitu korda üle kontrollimist, et jõuda hea järelduseni. Kõik üle 15% on murettekitav. Seejärel saate kontrollida kõvaketta kiirust, et näha, kas see on tõesti maha jäänud.

Kui teate, et teie kõvaketas on kaustas / dev / sda või / dev / hda, tehke järgmist. Või käivitage käsk “df -h”, et kontrollida, millisel draivil teie andmed asuvad.

# hdparm -Tt / dev / sda

Väljapääs:

/ dev / sda:

Vahemälu aeg: 1484 MB 2,01 sekundiga = 739,00 MB / s

Ketta lugemine puhvriga: 62 MB 3,00 sekundiga = 20,66 MB / s

Vahemälu puhvreid oli hämmastav lugeda, tõenäoliselt sisseehitatud ketta vahemälu tõttu, kuid puhverketta näidud on vaid 20,66 MB / sek. Kõik, mis on alla 25 MB, on midagi, mille pärast peaksite muretsema.

3. Kas protsessori kogu võimsus on tarbitud?

# ülemus

Kontrollige ülemist väljundit, et teada saada, kas kasutate liiga palju protsessori võimsust. Peaksite otsima lisaks igale CPU sisendile ka jõudeoleku väärtust. Kõik, mis on alla 45%, on midagi, mille pärast peaksite muretsema.

III) Probleem tuvastatud, mis on lahendus?

Lõpetuseks lubage mul pakkuda igale probleemile mõned lahendused.

Kõigi probleemide globaalne lahendus on MySQL-i ja veebiserveri optimeerimine, sealhulgas PHP / Perli skriptid ja päringud. Või vähim, mida saate teha, on optimeerida Apache ja MySQL serveri sätteid, et need paremini töötaksid.

1. Liiga palju protsessorit

Otsige jaotisest “ps -auxf” või “top” protsesse, mis kasutavad liiga palju protsessorit. Kui see on HTTP või MySQL, optimeerige võimaluse korral oma skripte ja päringuid paremini. Enamikul juhtudel on äärmiselt keeruline kõiki skripte ja päringuid optimeerida ning parem valik on lihtsalt protsessori muutmine/täiendamine. Topeltprotsessor peaks paremini töötama, kuid otsitava uuenduse tüüp sõltub teie praegusest protsessorist.

2. RAM on ammendatud

Olete justkui protsessoriga samas olukorras. Optimeerige HTTP, MySQL, skripte jne. või valige RAM-i täiendamine. Saate installida Opcode vahemälu tarkvara, näiteks APC (Pear) PHP jaoks, et see paremini töötaks ja vähendaks koormust.

3. Ketas on täielikult kasutatud (eh, ma ei pea silmas ruumi)

Siin peate valima kiirema draivi, näiteks SATA üle tavalise IDE või SCSI üle SATA. Noh, ma rääkisin lihtsalt üldiselt. Tasuva versiooniuuenduse tegemiseks peate arvestama selliste teguritega nagu RPM ja vahemälu. Teine võimalus on hankida mitu sama klassi ühikut ja jaotada koormus ühikute vahel. Levinud metoodika on MySQL-i teenindamine teisest draivist.

IV) Järeldus

Kas sellest polnud palju abi? Minu artikkel võib olla defektne, ahh, vabandust. See on minu esimene artikkel ja see asi kulutas päris palju mu ajurakke. See on natuke isiklik, kas pole? Lähme tagasi äri juurde.

Teie jaoks oli näites probleemiks I / O kasutamine ja kõvaketta aeglustumine.

Juhend ei saa kunagi olla üksi valmis ega pakkuda teile kõike, mida vajate eksperditaseme saavutamiseks (selle taseme saavutamiseks peate õppima jätkama). Kui kahtlete, palkage eksperdid teie serverit üle vaatama. Kuidagi, kui teil pole raha kulutada, olete ikkagi kaitstud! Serveri optimeerimisel abi saamiseks võite minna meie serveri optimeerimise abijaotisesse.

Lisa kommentaar

Sinu e-postiaadressi ei avaldata. Nõutavad väljad on tähistatud *-ga