Virtualus privatus serveris (VPS) serverio resursų švaistymas yra viena iš tų problemų, kurios atsiranda nepastebimai. Iš pradžių viskas atrodo gerai — kol serveris nesulėtėjai, pradeda strigti ar elgtis nenuspėjamai.
Šis gidas padės suprasti dažniausias CPU, RAM, disko vietos ir tinklo srauto švaistymo priežastis — ir kaip jas išspręsti dar prieš tampant rimtomis problemomis.
1. Pirmiausia optimizuokite savo aplikacijas
Vienas didžiausių resursų „rijikų“ yra programos, veikiančios su numatytaisiais nustatymais.
Dauguma “framework” ir serverių yra sukurti taip, kad „tiesiog veiktų“, o ne būtų efektyvūs. Dėl to jie dažnai naudoja daugiau CPU ir atminties nei reikia.
Pavyzdžiui, naudojant standartinę Apache konfigūraciją vietoj lengvesnės alternatyvos, galima ženkliai padidinti resursų naudojimą.
Ką daryti:
Derinti atminties limitus
Kai įmanoma, naudokite lengvesnius įrankius, pvz., Nginx
Tikrinkite aplikacijas, kad suprastumėte CPU ir RAM naudojimą
2. Valdykite “fonines” užduotis ir automatizavimą
Prastai valdomi skriptai ir periodinės užduotys gali tyliai naudoti resursus 24/7.
Begaliniai ciklai be pauzių arba periodinės užduotys, vykdomos kas minutę su sunkiais procesais, ypač kenkia — jos apkrauna CPU net tada, kai to nereikia.
Ką daryti:
Į ciklus pridėkite pauzes (sleep)
Peržiūrėkite periodines užduotis naudodami crontab -l
Matuokite vykdymo laiką ir atitinkamai koreguokite planavimą
3. Kontroliuokite disko naudojimą
Irašai, laikinoji atmintis ir laikini failai patys neišsivalo. Laikui bėgant jie gali išaugti tiek, kad sulėtins sistemą arba net visiškai užpildys diską.
Ką daryti:
Nustatykite įrašų rotaciją
Reguliariai valykite laikinus ir laikinosios atminties failus
Sumažinkite nereikalingų įrašų kiekį
4. Apsaugokite serverį nuo nepageidaujamo srauto
Jei jūsų serveris atviras botams, spamui ar piktnaudžiavimui, jūs iš esmės nemokamai dalinate savo resursus.
Toks srautas eikvoja CPU, tinklo pralaidumą ir atmintį — dažnai to net nepastebint.
Ką daryti:
Įjunkite srauto ribojimą
Naudokite ugniasienę
Naudokitem Cloudflare
5. Pašalinkite nenaudojamas servisus
Dažnai pamirštamos servisai, kurie kadaise buvo reikalingos, bet dabar nebenaudojami.
Net neveikdami aktyviai, jie naudoja RAM, o kartais ir CPU.
Ką daryti:
Reguliariai peržiūrėkite veikiančius servisus
Išjunkite arba pašalinkite nereikalingus servisus, programas
Laikykite sistemą minimalią ir tvarkingą
6. Nustatykite resursų limitus
Be apribojimų vienas netinkamai veikiantis procesas gali sunaudoti visus resursus ir „nulaužti“ serverį.
Ką daryti:
Nustatykite CPU ir atminties limitus
Apsaugokite sistemą nuo nereikalingų procesų
Izoliuokite kritines paslaugas, kai įmanoma
7. Optimizuokite duomenų bazę
Prastos užklausos ar trūkstami indeksai gali greitai padidinti CPU ir disko apkrovą.
Ką daryti:
Pridėkite tinkamus indeksus
Optimizuokite lėtas užklausas
Derinkite DB konfigūraciją pagal apkrovą
8. Venkite „crash“ ir perkrovimo ciklų
Jei aplikacija nuolat lūžta ir persikrauna, ji gali greitai apkrauti CPU ir užpildyti logus.
Ką daryti:
Stebėkite aplikacijas
Taisykite priežastis, o ne tik restartuokite
Nustatykite protingus perkrovimo limitus
9. Naudokite laikinąją atminti (angl .Cache) ir suspaudimą (angl. Archyve)
Siųsti nesuspaustus duomenis kiekvieną kartą yra neefektyvu ir brangu tiek CPU, tiek tinklo prasme.
Ką daryti:
Įjunkite suspaudimą (gzip arba Brotli)
Naudokite cache pakartotinėms užklausoms
Pridėkite cache sluoksnį, pvz., Redis
10. Nepamirškite saugumo
Silpnas saugumas kelia riziką ne tik duomenims — jis gali paversti jūsų VPS svetimų žmonių skaičiavimo resursu. Užpuolikai gali naudoti jūsų CPU spamui, botams ar kriptovaliutų kasimui.
Ką daryti:
Išjunkite root prisijungimą
Naudokite SSH raktus vietoj slaptažodžių
Įdiekite įrankius, pvz., Fail2Ban
Greitas patikrinimas (naudingi komandų pavyzdžiai)
Kai kažkas atrodo ne taip, šios komandos padės greitai diagnozuoti problemą:
toparbahtop→ CPU ir RAM naudojimasdf -h→ disko vietanetstat -tulpn→ atviri portaips aux --sort=-%cpu→ daugiausiai CPU naudojantys procesai
Apibendrinimas
Virtualus privatus serveris (VPS) nesugenda staiga — jis tiesiog pamažu lėtėja.
Jei jūs:
reguliariai jį tikrinsite
pašalinsite nereikalingus dalykus
nustatysite limitus
galėsite išvengti daugumos problemų dar prieš joms atsirandant.
