Artikulu direktorioa
Bat-batean aurkitu al duzu lanean Nginxen CPUaren erabilerak gora egin duela? Hori gutxi balitz, Nginx-en hainbat langile-prozesuek baliabideak ero bezala kontsumitzen ari dira prozesuak aztertzen ditudan bakoitzean.
Eszena hau ikusita, burua berotzen zaizu, eta ezin duzu oihukatzeari utzi: "Oi, ene Jainkoa, zerbitzaria lehertuko al da, ez kezkatu, horrek ez du esan nahi zure zerbitzaria "amaitu" denik?" baina Nginx Optimizazio integral bat egin behar duzu!
Nginx gehiegizko kargaren arrazoien analisia

Lehenik eta behin, asmatu behar dugu,Zergatik bihurtzen da bat-batean Nginx "agortuta"?Arazoaren arrazoi asko daude, ez izan beldurrik, jakin dezagun elkarrekin behean.
1. Arrazoigabeko konfigurazioa
Nginx konfigurazio fitxategian, puntu garrantzitsuena da worker_processes. Parametro honek Nginx-ek abiarazitako prozesu kopurua zehazten du.
- Langile-prozesu gutxiegi konfiguratzen badituzu, PUZaren karga igo egingo da gehiegi konfiguratzen badituzu, memoria nahikoa ez da izango.
- Oreka puntu bat aurkitu behar duzu, adibidez,Ezarri worker_processes CPU nukleoen kopuruaren 1etik 2ra.
- 4 nukleo badituzu, saiatu
worker_processes 4Edo zuzenean ezarriauto.
2. Bisitak gorakada
Batzuetan, Nginxen karga bat-batean igotzen da ez akats bat egin duzulako, bisita kopurua handiegia delako baizik.Aldibereko sarbide-eskaerek Nginx langileen prozesua gainezka egingo dute., prozesu guztiak gainkargatuta daude, eta CPUa eta memoria ere beteta daude. Une honetan, baliteke zerbitzariaren baliabideak hobetu behar izatea, esate baterako, CPU nukleoen kopurua handitzea edo memoria handitzea. Jakina, hau abisua ere bada: ez ahaztu CDN deskargatzea edo karga orekatzea kontuan hartzea.
3. Eraso gaiztoak aurkitu ditu
Interneten "oso ezaguna" izatea ez da beti gauza ona. PUZaren erabilera anormalki altua dela eta IP eskaeraren iturria susmagarria dela ikusten baduzu, oso litekeena da zure webgunea DDoS eraso bat jasatea. Une honetan,Suebaki bat zabaldu edo sarbide-maiztasuna mugatu behar duzu berehala, esaterako, Nginx-ekin datorren egungo muga-modulua erabiltzea edo IP zerrenda beltza konfiguratzea.
Nola konpondu Nginx prozesuaren memoria handiko erabileraren arazoa?
Beraz, galdera da, zergatik hartzen ditu Nginx langileen prozesuak hainbeste baliabide? Konfiguraziotik hasi eta urratsez urrats optimizatu behar dugu.
Konfigurazio metodoa
Ireki Nginx konfigurazio fitxategia: Normalean, Nginx-en konfigurazio fitxategi nagusia helbidean dago
/etc/nginx/nginx.conf.Konfiguratu
worker_processes: konfigurazio fitxategian aurkitu daeventsblokeak, ezarpenakworker_processesbalioa. ez badaeventsblokeatu, bat sortu behar duzu.nginx events { worker_connections 1024; use epoll; # 或者适用于操作系统的其他事件模型 }
1. Behar bezala ezarri worker_connections
nginx worker_connections Parametroak langile prozesu bakoitzak kudeatu dezakeen gehienezko konexio-kopurua zehazten du. Txikia bada, aldibereko errendimenduan eragina izango du handiegia bada, baliteke baliabide gehiegi kontsumitzea.
Nola kalkulatu balio egokia?
4 nukleoko CPU bat eta 16 GB RAM bat dituzula suposatuz, abiapuntu segurua da worker_connections 4096.
Baina zure webguneak trafiko asko badu, kontuan hartu balio hau 8192ra igotzea prozesu bakoitzak behar adina eskaera kudeatu ditzakeela ziurtatzeko.
events {
worker_connections 8192;
}
Modu honetan, Nginx-en prozesatzeko ahalmena asko hobetuko da.
2. Doitu keepalive_timeout
Nginx-ek eskaerak kudeatzeko beste funtsezko parametro bat da keepalive_timeout.
Ezarpen honek bezeroak zerbitzariarekin duen konexioa zenbat denboran mantendu daitekeen zehazten du.
Luzeegia ezartzen bada, konexio baliabide gehiegi okupatuko ditu..
Saia zaitezke keepalive_timeout Ezarri 15 segundo konexioa mantentzeko eta baliabideak askatzeko.
keepalive_timeout 15;
3. Optimizatu fitxategien deskribatzaileen mugak
Lehenespenez,Linux Sistemak muga bat dauka prozesu bakoitzak ireki ditzakeen fitxategi-deskribatzaileen kopuruan.
Nginx-ek fitxategi kopuru handi bat prozesatu behar badu (esaterako, baliabide estatikoak), baliteke Nginx-en errore bat agertzea, " galdetuta "too many open files".
pasa dezakezu worker_rlimit_nofile Handitu fitxategi deskribatzaileen muga, adibidez, ezarri 65535.
worker_rlimit_nofile 65535;
4. Gaitu cachea eta gzip
Cachea eta konpresioa webgunearen errendimendua optimizatzeko bi gako dira.
Nginx-en cache-funtzioa gaituta, baliabide estatikoak (adibidez, irudiak eta JS fitxategiak) memorian gorde daitezke., horrela zerbitzariaren karga asko murriztuz.
Horrez gain, gzip konpresio funtzioa aktibatzea transmititzen den datu kopurua murriztu eta webgunearen abiadura hobetu daiteke.
gzip on;
gzip_types text/plain application/javascript;
5. Aztertu Nginx baliabideen erabilera
Azkenik, goiko optimizazio guztiak osatu badituzu baina Nginx-ek CPU asko hartzen badu, baliteke tresna batzuk erabili behar izatea azterketa sakona egiteko.
使用 top edo htop Ikusi prozesu baten baliabideen kontsumoa denbora errealean,pasatu strace Jarraitu sistema-deiak, edo erabili nmon Sortu errendimendu-txostenak. Nginx-en benetako funtzionamendua sakonki aztertuz soilik sintonizazio zehatzagoa egin dezakegu.
Laburpena
Ez zaitez izutu Nginx-en CPUaren erabilerak gora egiten duenean. Baliteke konfigurazio desegokia edo gehiegizko trafikoa izatea.
arrazoizko doikuntzaren bidez worker_processes 和 worker_connectionsCachea gaituz, denbora-muga eta fitxategi deskribatzaileak optimizatuz, Nginx-en karga-presioa nabarmen murrizten duzu.
Nginx web zerbitzari indartsua da, behar bezala optimizatuta, zure webgunerako errendimendu bikaina eskain dezakeena.
Gogoratu, edozein galdera erantzun daitekeelaZientziakonpontzeko metodoak, zerbitzariaren errendimendua optimizatzea ez da salbuespena.
Kontrolatu eta egokitzea garaiz, Nginx eraginkortasunez funtzionatzen jarraitzeko gakoa da. Teknika hauek menperatzen badituzu, zure webgunea seguru egongo da trafiko handiko edo eraso maltzurren aurrean ere.
Artikulu honek inspiratu zaituela espero dut, azkar ibili eta optimizatu zure Nginx!
Hope Chen Weiliang bloga ( https://www.chenweiliang.com/ ) shared "Zer egin behar dut Nginx zerbitzariaren CPU karga eta prozesu memoriaren erabilera handia bada?" 》, lagungarria.
Ongi etorri artikulu honen esteka partekatzera:https://www.chenweiliang.com/cwl-32093.html
Trikimailu ezkutu gehiago desblokeatzeko🔑, ongi etorri gure Telegram kanalera!
Partekatu eta gustatu gustatzen bazaizu! Zure partekatzeak eta gustukoak dira gure etengabeko motibazioa!