Drejtoria e artikujve
A keni zbuluar papritur në punë që përdorimi i CPU-së së Nginx është rritur në qiell? Për t'i bërë gjërat edhe më keq, proceset e shumta të punëtorëve të Nginx po konsumojnë burime si të çmendura sa herë që shikoj proceset.
Duke parë këtë skenë, koka juaj nxehet dhe nuk mund të mos bërtisni: "O Zot, a do të shpërthejë serveri, mos u shqetësoni, kjo nuk do të thotë se serveri juaj do të "mbarojë". por Nginx Ne kemi nevojë që ju të bëni një optimizim gjithëpërfshirës!
Analiza e shkaqeve të ngarkesës së tepërt Nginx

Së pari, ne duhet të kuptojmë,Pse Nginx papritmas bëhet "rraskapitur"?Ka shumë arsye për problemin, mos kini frikë, le t'i zbulojmë së bashku më poshtë.
1. Konfigurim i paarsyeshëm
Në skedarin e konfigurimit Nginx, pika më e rëndësishme është worker_processes. Ky parametër përcakton numrin e proceseve të nisura nga Nginx.
- Nëse konfiguroni shumë pak procese pune, ngarkesa e CPU-së do të rritet nëse konfiguroni shumë, do të ketë memorie të pamjaftueshme.
- Ju duhet të gjeni një pikë ekuilibri, për shembull,Cakto worker_processes në 1 deri në 2 herë numrin e bërthamave të CPU.
- Nëse keni 4 bërthama, atëherë provoni
worker_processes 4Ose vendoseni drejtpërdrejt nëauto.
2. Vizitat rriten
Ndonjëherë, ngarkesa e Nginx rritet papritur jo sepse keni bërë një gabim, por sepse numri i vizitave është shumë i lartë.Kërkesat për akses shumë të njëkohshëm do të bëjnë që procesi i punonjësve Nginx të mbingarkohet., çdo proces është i mbingarkuar, dhe CPU dhe memoria janë gjithashtu plot. Në këtë kohë, mund t'ju duhet të përmirësoni burimet e serverit, të tilla si rritja e numrit të bërthamave të CPU ose rritja e memories. Sigurisht, kjo është gjithashtu një kujtesë: mos harroni të merrni parasysh shkarkimin e CDN ose balancimin e ngarkesës.
3. Ndodhi sulme me qëllim të keq
Të qenit "shumë popullor" në internet nuk është gjithmonë një gjë e mirë. Nëse zbuloni se përdorimi i CPU-së është anormalisht i lartë dhe burimi i IP-së së kërkesës është i dyshimtë, ka shumë të ngjarë që faqja juaj e internetit të vuajë nga një sulm DDoS. Në këtë kohë,Duhet të vendosni menjëherë një mur zjarri ose të kufizoni frekuencën e aksesit, të tilla si përdorimi i modulit aktual kufizues që vjen me Nginx, ose konfigurimi i një liste të zezë IP.
Si të zgjidhet problemi i përdorimit të lartë të memories së procesit Nginx?
Pra, pyetja është, pse procesi i punëtorit Nginx merr kaq shumë burime? Duhet të fillojmë me konfigurimin dhe ta optimizojmë atë hap pas hapi.
Metoda e konfigurimit
Hapni skedarin e konfigurimit Nginx: Zakonisht, skedari kryesor i konfigurimit të Nginx ndodhet në
/etc/nginx/nginx.conf.Konfiguro
worker_processes: Gjetur në skedarin e konfigurimiteventsblloqe, cilësimeworker_processesvlerë. nëse joeventsbllok, ju duhet të krijoni një.nginx events { worker_connections 1024; use epoll; # 或者适用于操作系统的其他事件模型 }
1. Vendosni siç duhet worker_connections
nginx worker_connections Parametri përcakton numrin maksimal të lidhjeve që çdo proces punonjës mund të trajtojë. Nëse është shumë i vogël, do të ndikojë në performancën e konkurencës nëse është shumë i madh, mund të konsumojë shumë burime;
Si të llogarisni vlerën e duhur?
Duke supozuar se keni një CPU me 4 bërthama dhe 16 GB RAM, një pikënisje e sigurt është worker_connections 4096.
Por nëse faqja juaj e internetit ka shumë trafik, merrni parasysh rritjen e kësaj vlere në 8192 për t'u siguruar që çdo proces mund të trajtojë mjaft kërkesa.
events {
worker_connections 8192;
}
Në këtë mënyrë, fuqia përpunuese e Nginx do të përmirësohet shumë.
2. Rregullo keepalive_timeout
Një tjetër parametër kyç që Nginx të trajtojë kërkesat është keepalive_timeout.
Ky cilësim përcakton se sa kohë mund të ruhet lidhja e klientit me serverin.
Nëse vendoset shumë gjatë, do të zërë shumë burime lidhjeje..
Mund të provoni keepalive_timeout Cakto në 15 sekonda për të ruajtur lidhjen dhe lirimin e burimeve.
keepalive_timeout 15;
3. Optimizoni kufijtë e përshkruesit të skedarëve
Si parazgjedhje,Linux Sistemi ka një kufi në numrin e përshkruesve të skedarëve që mund të hapen nga secili proces.
Nëse Nginx duhet të përpunojë një numër të madh skedarësh (si burimet statike), mund të shihni një gabim nga Nginx, duke kërkuar "too many open files".
ju mund të kaloni worker_rlimit_nofile Rrit kufirin e përshkruesit të skedarit, për shembull vendoset në 65535.
worker_rlimit_nofile 65535;
4. Aktivizo caching dhe gzip
Cachimi dhe kompresimi janë dy çelësat për optimizimin e performancës së faqes në internet.
Duke aktivizuar funksionin e memorizimit të Nginx, burimet statike (të tilla si imazhet dhe skedarët JS) mund të ruhen në memorie., duke reduktuar në masë të madhe ngarkesën në server.
Përveç kësaj, aktivizimi i funksionit të kompresimit gzip mund të zvogëlojë sasinë e të dhënave të transmetuara dhe të përmirësojë shpejtësinë e faqes në internet.
gzip on;
gzip_types text/plain application/javascript;
5. Analizoni përdorimin e burimeve Nginx
Së fundi, nëse i keni përfunduar të gjitha optimizimet e mësipërme, por Nginx ende merr shumë CPU, mund t'ju duhet të përdorni disa mjete për analiza të thelluara.
使用 top ose htop Shikoni konsumin e burimeve në kohë reale të një procesi, kaloj strace Gjurmoni thirrjet e sistemit ose përdorni nmon Gjeneroni raporte të performancës. Vetëm duke analizuar në mënyrë gjithëpërfshirëse funksionimin aktual të Nginx mund të kryejmë akordim më të saktë.
总结
Mos u frikësoni kur përdorimi i CPU-së së Nginx rritet. Mund të shkaktohet thjesht nga konfigurimi i gabuar ose trafiku i tepërt.
përmes rregullimeve të arsyeshme worker_processes 和 worker_connectionsDuke aktivizuar cachimin, optimizimin e afateve kohore dhe përshkruesit e skedarëve, mund të ulni ndjeshëm presionin e ngarkesës në Nginx.
Nginx është një server i fuqishëm në internet që, kur optimizohet siç duhet, mund të sigurojë performancë të shkëlqyer për faqen tuaj të internetit.
Mos harroni, çdo pyetje mund të përgjigjet ngashkencëmetodat për ta zgjidhur atë, optimizimi i performancës së serverit nuk bën përjashtim.
Monitoroni dhe rregulloni në kohën e duhur, është çelësi për të mbajtur Nginx të funksionojë në mënyrë efikase. Nëse mund t'i zotëroni këto teknika, faqja juaj e internetit do të jetë e sigurt edhe përballë trafikut të lartë ose sulmeve me qëllim të keq.
Shpresoj se ky artikull ju ka frymëzuar, nxitoni dhe optimizoni Nginx-in tuaj!
Blogu Hope Chen Weiliang ( https://www.chenweiliang.com/ ) shared "Çfarë duhet të bëj nëse ngarkesa CPU e serverit Nginx dhe përdorimi i kujtesës së procesit janë të larta?" 》, e dobishme për ju.
Mirë se vini të shpërndani lidhjen e këtij artikulli:https://www.chenweiliang.com/cwl-32093.html
Për të zhbllokuar më shumë truke të fshehura🔑, mirë se vini të bashkoheni me kanalin tonë në Telegram!
Shpërndaje dhe like nëse të pëlqen! Ndarjet dhe pëlqimet tuaja janë motivimi ynë i vazhdueshëm!