Kini MO le ṣe ti olupin Nginx ba ni fifuye Sipiyu giga ati lilo iranti ilana?

Njẹ o ti ṣe awari lojiji ni iṣẹ pe lilo Nginx's CPU ti ga soke? Lati jẹ ki ọrọ buru si, awọn ilana oṣiṣẹ lọpọlọpọ ti Nginx n gba awọn orisun bi irikuri ni gbogbo igba ti Mo wo awọn ilana naa.

Ti o rii iṣẹlẹ yii, ori rẹ yoo gbona, ati pe o ko le ṣe iranlọwọ lati kigbe: “Oh Ọlọrun mi, ṣe olupin naa yoo gbamu bi?” ṣugbọn Nginx A nilo ki o ṣe iṣapeye okeerẹ!

Onínọmbà ti awọn idi ti iwuwo Nginx pupọ

Kini MO le ṣe ti olupin Nginx ba ni fifuye Sipiyu giga ati lilo iranti ilana?

Àkọ́kọ́, a ní láti mọ ìdí tí Nginx fi “kò ní agbára” lójijì. Ọ̀pọ̀lọpọ̀ ìdí ló wà fún ìṣòro yìí, nítorí náà má ṣe dààmú, ẹ jẹ́ kí a jọ ṣe àwárí wọn.

1. Unreasonable iṣeto ni

Ninu faili iṣeto Nginx, aaye pataki julọ ni worker_processes. Paramita yii pinnu nọmba awọn ilana ti o bẹrẹ nipasẹ Nginx.

  • Ti o ba tunto awọn ilana oṣiṣẹ diẹ, fifuye Sipiyu yoo lọ soke ti o ba tunto pupọ, iranti yoo wa.
  • O ni lati wa aaye iwọntunwọnsi, fun apẹẹrẹ,Ṣeto worker_processes to 1 to 2 igba awọn nọmba ti Sipiyu inu ohun kohun,
  • Ti o ba ni awọn ohun kohun mẹrin lẹhinna gbiyanju worker_processes 4 Tabi ṣeto taara si auto,

2. Awọn abẹwo si gbaradi

Nígbà míìrán, ìdàgbàsókè lójijì nínú ẹrù Nginx kì í ṣe nítorí àṣìṣe iṣẹ́, ṣùgbọ́n ó jẹ́ nítorí ọ̀pọ̀ ìbéèrè. Ìbáramu gíga lè borí àwọn ìlànà òṣìṣẹ́ Nginx , èyí tí yóò mú kí ìlànà kọ̀ọ̀kan ṣiṣẹ́ ju agbára rẹ̀ lọ, tí yóò sì gba gbogbo CPU àti ìrántí. Nínú ọ̀ràn yìí, o lè nílò láti ṣe àtúnṣe àwọn ohun èlò olupin, bíi fífi iye àwọn ohun èlò CPU pọ̀ sí i tàbí fífi ìrántí kún un. Dájúdájú, èyí tún ń ṣiṣẹ́ gẹ́gẹ́ bí ìrántí: má ṣe gbàgbé láti ronú nípa pípín CDN tàbí ìwọ̀n ẹrù.

3. Awọn ikọlu irira pade

Jíjẹ́ olókìkí lórí ayélujára kò dára rárá; àwọn ìkọlù búburú lè dojúkọ ọ́ nígbàkigbà. Tí o bá kíyèsí pé lílo CPU ga lọ́nà àìtọ́ àti pé wọ́n ń béèrè fún àdírẹ́sì IP tí ó fura sí, ó ṣeéṣe kí ojú-òpó wẹ́ẹ̀bù rẹ wà lábẹ́ ìkọlù DDoS. Nínú ọ̀ràn yìí, o nílò láti fi ogiriina sí ojú-òpó lẹ́sẹ̀kẹsẹ̀ tàbí kí o dín ìpele wíwọlé kù , bíi lílo module ìdíwọ̀n oṣuwọn tí a ṣe sínú Nginx tàbí ṣíṣètò blacklist IP.

Bii o ṣe le yanju iṣoro ti lilo iranti giga ti ilana Nginx?

Nitorinaa ibeere naa ni, kilode ti ilana oṣiṣẹ Nginx gba ọpọlọpọ awọn orisun? A ni lati bẹrẹ pẹlu iṣeto ni ki o si mu ki o ni igbese nipa igbese.

Ọna iṣeto ni

  1. Ṣii faili iṣeto Nginx: Nigbagbogbo, faili iṣeto akọkọ ti Nginx wa ni /etc/nginx/nginx.conf,

  2. Ṣeto worker_processes: Ri ni iṣeto ni faili events ohun amorindun, eto worker_processes iye. ti ko ba si events Àkọsílẹ, o nilo lati ṣẹda ọkan.

    nginx
    events {
    worker_connections 1024;
    use epoll;  # 或者适用于操作系统的其他事件模型
    }

1. Ṣeto awọn asopọ_iṣẹ oṣiṣẹ daradara

nginx worker_connections Awọn paramita ipinnu awọn ti o pọju nọmba ti awọn isopọ ti kọọkan Osise ilana le mu. Ti o ba kere ju, yoo ni ipa lori iṣẹ iṣipopada ti o ba tobi ju, o le jẹ awọn ohun elo pupọ.

Bawo ni lati ṣe iṣiro iye ti o yẹ?

A ro pe o ni Sipiyu 4-core ati 16GB ti Ramu, aaye ibẹrẹ ailewu jẹ worker_connections 4096,

Ṣugbọn ti oju opo wẹẹbu rẹ ba ni ọpọlọpọ awọn ijabọ, ronu jijẹ iye yii si 8192 lati rii daju pe ilana kọọkan le mu awọn ibeere to to.

events {
    worker_connections 8192;
}

Ni ọna yii, agbara ṣiṣe Nginx yoo ni ilọsiwaju pupọ.

2. Ṣatunṣe keepalive_timeout

paramita bọtini miiran fun Nginx lati mu awọn ibeere jẹ keepalive_timeout,

Eto yii pinnu bi o ṣe gun asopọ alabara si olupin le jẹ itọju.

Ṣíṣe gígùn gígùn náà lè fa lílo àwọn ohun èlò ìsopọ̀ púpọ̀.

O le gbiyanju lati keepalive_timeout Ṣeto si awọn aaya 15 lati ṣetọju asopọ ati idasilẹ awọn orisun.

keepalive_timeout 15;

3. Mu awọn opin ijuwe faili dara si

Nípa àìṣeédá, àwọn ètò Linux máa ń dín iye àwọn olùṣàpèjúwe fáìlì tí ìlànà kọ̀ọ̀kan lè ṣí kù.

Ti Nginx ba nilo lati ṣe ilana nọmba nla ti awọn faili (gẹgẹbi awọn orisun aimi), o le rii Nginx ti n ṣe ijabọ aṣiṣe kan, ti nfa "too many open files".

o le kọja worker_rlimit_nofile Ṣe alekun opin apejuwe faili, fun apẹẹrẹ ṣeto si 65535.

worker_rlimit_nofile 65535;

4. Mu caching ṣiṣẹ ati gzip

Caching ati funmorawon jẹ awọn bọtini meji si iṣapeye iṣẹ oju opo wẹẹbu.

Nípa ṣíṣe àgbékalẹ̀ ìfọwọ́sowọ́pọ̀ Nginx, àwọn ohun èlò àìdúró (bíi àwòrán àti àwọn fáìlì JS) le wà ní ìpamọ́ sínú ìrántí , èyí sì lè dín ẹrù olupin kù gidigidi.

Ni afikun, titan iṣẹ titẹkuro gzip le dinku iye data ti o tan kaakiri ati ilọsiwaju iyara oju opo wẹẹbu.

gzip on;
gzip_types text/plain application/javascript;

5. Ṣe itupalẹ lilo awọn orisun Nginx

Nikẹhin, ti o ba ti pari gbogbo awọn iṣapeye ti o wa loke ṣugbọn Nginx tun gba ọpọlọpọ Sipiyu, o le nilo lati lo diẹ ninu awọn irinṣẹ fun itupalẹ-ijinle.

使用 top Tabi htop Wo agbara awọn orisun akoko gidi ti ilana kan,kọja strace Wa awọn ipe eto, tabi lo nmon Ṣe ina awọn ijabọ iṣẹ. Nikan nipa ṣiṣe ayẹwo ni kikun iṣẹ ṣiṣe ti Nginx ni a le ṣe atunṣe to peye diẹ sii.

lati akopọ

Maṣe bẹru nigbati Nginx's CPU lilo spikes. O le kan ṣẹlẹ nipasẹ iṣeto aibojumu tabi ijabọ ti o pọ ju.

nipasẹ reasonable awọn atunṣe worker_processes 和 worker_connectionsNipa mimuuṣiṣẹpọ caching, iṣapeye awọn akoko ipari ati awọn apejuwe faili, o le dinku titẹ fifuye ni pataki lori Nginx.

Nginx jẹ olupin wẹẹbu ti o lagbara ti, nigba iṣapeye daradara, le pese iṣẹ ṣiṣe to dara julọ fun oju opo wẹẹbu rẹ.

Rántí pé, a lè yanjú ìṣòro èyíkéyìí ní ìmọ̀ sáyẹ́ǹsì, àti pé ṣíṣe àtúnṣe iṣẹ́ olupin kò yàtọ̀ sí èyí.

Àbójútó àti àtúnṣe tó yẹ ní àkókò jẹ́ pàtàkì láti mú kí iṣẹ́ Nginx ṣiṣẹ́ dáadáa. Tí o bá mọ àwọn ọ̀nà wọ̀nyí dáadáa, ojú òpó wẹ́ẹ̀bù rẹ yóò wà ní ààbò kódà lábẹ́ àwọn ìkọlù tó pọ̀ tàbí àwọn ìkọlù búburú.

Mo nireti pe nkan yii ti ni atilẹyin fun ọ, yara yara ki o mu Nginx rẹ dara si!

Ní ìrètí, àpilẹ̀kọ náà “Báwo ni a ṣe lè kojú ìwúwo CPU gíga àti lílo ìrántí iṣẹ́ gíga lórí olupin Nginx?” tí a pín lórí bulọọgi Chen Weiliang ( https://www.chenweiliang.com/ ) yóò wúlò fún ọ.

Má ṣe ṣiyemeji láti pín ìjápọ̀ àpilẹ̀kọ yìí: https://www.chenweiliang.com/cwl-32093.html

Lati ṣii awọn ẹtan ti o farapamọ diẹ sii🔑, kaabọ lati darapọ mọ ikanni Telegram wa!

Pin ati fẹran ti o ba fẹran rẹ! Awọn mọlẹbi rẹ ati awọn ayanfẹ jẹ iwuri wa ti o tẹsiwaju!

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Yi lọ si Top