Isalathiso senqaku
Ngaba ufumene ngequbuliso emsebenzini ukuba ukusetyenziswa kwe-CPU ye-Nginx kuye kwanda? Ukwenza izinto zibe mbi ngakumbi, iinkqubo ezininzi zabasebenzi be-Nginx zisebenzisa izixhobo ezinjengokuphambana ngalo lonke ixesha ndijonga iinkqubo.
Ukubona lo mboniso, intloko yakho iyatshisa, kwaye awukwazi ukukhwaza: "Owu Thixo wam, ngaba umncedisi uya kuqhuma, oku akuthethi ukuba umncedisi wakho uya "kugqitywa", kodwa iNginx Sifuna ukuba wenze usetyenziso olubanzi!
Uhlalutyo lwezizathu zomthwalo ogqithisileyo weNginx

Okokuqala, kufuneka siqonde,Kutheni i-Nginx ngokukhawuleza "iphelile"?Kukho izizathu ezininzi zengxaki, ungoyiki, masifumane kunye ngezantsi.
1. Ubumbeko obungenangqiqo
Kwifayile yokucwangcisa iNginx, eyona ngongoma ibalulekileyo worker_processes. Le parameter imisela inani leenkqubo eziqalwe nguNginx.
- Ukuba uqwalasela iinkqubo ezimbalwa kakhulu zabasebenzi, umthwalo we-CPU uya kunyuka ukuba uqwalasele ezininzi kakhulu, kuya kubakho inkumbulo enganelanga.
- Kuya kufuneka ufumane indawo yokulinganisa, umzekelo,Cwangcisa umsebenzi_iinkqubo ukuya kwi-1 ukuya kwi-2 inani le-CPU cores,
- Ukuba uneecores ezi-4 zama
worker_processes 4Okanye yisete ngqo kuyoauto,
2. Utyelelo luyanda
Ngamanye amaxesha, umthwalo we-Nginx ngokukhawuleza u-spikes kungekhona ngenxa yokuba wenze impazamo, kodwa ngenxa yokuba inani lokutyelela liphezulu kakhulu.Izicelo zokufikelela ngaxeshanye kakhulu ziya kubangela ukuba inkqubo yabasebenzi be-Nginx ibe nzima., yonke inkqubo ilayishwe kakhulu, kwaye i-CPU kunye nememori nazo zigcwele. Ngeli xesha, unokufuna ukuphucula izixhobo zeseva, njengokwandisa inani le-CPU cores okanye ukwandisa imemori. Ewe kunjalo, oku kukwasisikhumbuzo: ungalibali ukujonga ukukhuphela kwe-CDN okanye ukulinganisa umthwalo.
3. Yadibana nohlaselo olunolunya
Ukuba "udume kakhulu" kwi-Intanethi akusoloko kuyinto entle uhlaselo olukhohlakeleyo lunokujolisa kuwe nangaliphi na ixesha. Ukuba ufumanisa ukuba ukusetyenziswa kwe-CPU kuphezulu ngokungaqhelekanga kwaye umthombo wesicelo se-IP uyakrokra, kunokwenzeka ukuba iwebhusayithi yakho ihlaselwa kuhlaselo lwe-DDoS. Ngeli xesha,Kufuneka ufake i-firewall okanye unciphise ufikelelo rhoqo ngoko nangoko, njengokusebenzisa umnqongo wangoku wothintelo oza neNginx, okanye ukucwangcisa uluhlu lwabamnyama lwe IP.
Uyisombulula njani ingxaki yokusetyenziswa kwememori ephezulu yenkqubo ye-Nginx?
Ke umbuzo ngulo, kutheni inkqubo yabasebenzi beNginx ithatha izixhobo ezininzi kangaka? Kufuneka siqale ngoqwalaselo kwaye silulungise inyathelo ngenyathelo.
Indlela yoqwalaselo
Vula ifayile yoqwalaselo yeNginx: Ngokuqhelekileyo, ifayile yoqwalaselo ephambili yeNginx ifumaneka
/etc/nginx/nginx.conf,Misela
worker_processes: Ifunyenwe kwifayile yoqwalaseloeventsiibhloko, izicwangcisoworker_processesixabiso. ukuba akukho njaloeventsblock, kufuneka wenze enye.nginx events { worker_connections 1024; use epoll; # 或者适用于操作系统的其他事件模型 }
1. Seta ngokufanelekileyo udibaniso_lomsebenzi
nginx worker_connections Ipharamitha imisela inani eliphezulu loqhagamshelo ukuba inkqubo yomsebenzi ngamnye inokusingatha. Ukuba incinci kakhulu, iya kuchaphazela ukusebenza kweconcurrency;
Indlela yokubala ixabiso elifanelekileyo?
Ukucinga ukuba une-4-core CPU kunye ne-16GB ye-RAM, indawo yokuqala ekhuselekileyo worker_connections 4096,
Kodwa ukuba iwebhusayithi yakho ine-traffic eninzi, cinga ukwandisa eli xabiso kwi-8192 ukuqinisekisa ukuba inkqubo nganye inokusingatha izicelo ezaneleyo.
events {
worker_connections 8192;
}
Ngale ndlela, amandla okusebenza kaNginx aya kuphuculwa kakhulu.
2. Lungisa i-keepalive_timeout
Enye iparameter engundoqo yeNginx yokusingatha izicelo keepalive_timeout,
Olu cwangciso lumisela ukuba uqhagamshelwano lomxhasi kumncedisi lunokugcinwa ixesha elingakanani.
Ukuba imiselwe ixesha elide, izakuthatha izixhobo ezininzi zoqhagamshelo.,
Ungazama uku keepalive_timeout Misela kwimizuzwana eyi-15 ukugcina uqhagamshelo kunye nokukhulula izixhobo.
keepalive_timeout 15;
3. Lungiselela imida yenkcazelo yefayile
Ngokuzenzekela,Linux Inkqubo inomda kwinani leenkcazo zefayile ezinokuvulwa yinkqubo nganye.
Ukuba iNginx idinga ukucubungula inani elikhulu leefayile (ezifana nezixhobo ezimileyo), unokubona iNginx inika ingxelo yempazamo, ikhuthaza "too many open filesMsgstr ".
ungapasa worker_rlimit_nofile Yandisa umda wenkcazelo yefayile, umzekelo usete ku-65535.
worker_rlimit_nofile 65535;
4. Vula i-caching kunye ne-gzip
I-Caching kunye noxinzelelo zizitshixo ezimbini zokuphucula ukusebenza kwewebhusayithi.
Ngokwenza umsebenzi we-caching we-Nginx, izixhobo ezingatshintshiyo (ezifana nemifanekiso kunye neefayile ze-JS) zinokugcinwa kwimemori., ngokunciphisa kakhulu umthwalo kumncedisi.
Ukongeza, ukuvula umsebenzi woxinzelelo lwe-gzip kunokunciphisa inani ledatha egqithisiweyo kunye nokuphucula isantya sewebhusayithi.
gzip on;
gzip_types text/plain application/javascript;
5. Hlalutya usetyenziso lwesixhobo seNginx
Okokugqibela, ukuba uzigqibile zonke ezi zinto zingentla kodwa i-Nginx isathatha i-CPU eninzi, unokufuna ukusebenzisa izixhobo ezithile zohlalutyo olunzulu.
使用 top Okanye htop Jonga usetyenziso lwexesha lokwenyani lwenkqubo,ukupasa strace Trace inkqubo iminxeba, okanye sebenzisa nmon Ukuvelisa iingxelo zokusebenza. Kuphela ngokuhlalutya ngokubanzi ukusebenza kwe-Nginx esinokuthi senze ukulungiswa okuchanekileyo.
总结
Musa ukothuka xa i-CPU ye-Nginx isebenzisa izikhonkwane. Isenokubangelwa luqwalaselo olungafanelekanga okanye itrafikhi egqithisileyo.
ngohlengahlengiso olufanelekileyo worker_processes Kunye kunye worker_connectionsNgokuvumela i-caching, ukwandisa ixesha lokuphuma kunye nezichazi zefayile, unokunciphisa kakhulu uxinzelelo lomthwalo kwi-Nginx.
I-Nginx yiseva yewebhu enamandla ethi, xa yenziwe ngokufanelekileyo, inokubonelela ngokusebenza okugqwesileyo kwiwebhusayithi yakho.
Khumbula, nayiphi na imibuzo inokuphendulwa nguisayensiiindlela zokuyicombulula, ukwenza ngcono ukusebenza komncedisi akukho ngaphandle.
Ukubeka iliso kunye nokulungelelanisa ngexesha elifanelekileyo, sisitshixo sokugcina iNginx isebenza ngokufanelekileyo. Ukuba unokwazi kakuhle ezi zindlela, iwebhusayithi yakho iya kukhuseleka nokuba ujongene netraffic ephezulu okanye uhlaselo olunolunya.
Ndiyathemba ukuba eli nqaku likukhuthazile, khawuleza kwaye ulungise iNginx yakho!
Ndiyathemba Chen Weiliang Blog ( https://www.chenweiliang.com/ ) wabelane "Ndimele ndenze ntoni ukuba umncedisi we-Nginx umthwalo we-CPU kunye nokusetyenziswa kwememori yenkqubo ephezulu?" 》, eluncedo kuwe.
Wamkelekile ukwabelana ngekhonkco leli nqaku:https://www.chenweiliang.com/cwl-32093.html
Ukuvula amaqhinga afihlakeleyo🔑, wamkelekile ukujoyina ijelo lethu leTelegram!
Yabelana kwaye uthande ukuba uyayithanda! Izabelo zakho kunye nezinto ozithandayo ziyinkuthazo yethu eqhubekayo!