Me aha ahau mena he nui te utaina CPU o te tūmau Nginx me te tukatuka i te whakamahinga mahara?

Kua kitea ohorere koe i te mahi kua piki haere te whakamahi CPU a Nginx? Ko te kino ake, ko nga mahi a nga kaimahi maha a Nginx kei te pau nga rauemi penei i te porangi i nga wa katoa ka titiro au ki nga mahi.

Ka kite koe i tenei ahuatanga, ka wera tou mahunga, kare e taea e koe te tangi: "E toku Atua, ka pahū te tūmau kaua e māharahara, ehara i te mea ka "oti" to tūmau? , engari Nginx Me mahi koe i te arotautanga matawhānui!

Te tātari i nga take o te nui o te kawenga Nginx

Me aha ahau mena he nui te utaina CPU o te tūmau Nginx me te tukatuka i te whakamahinga mahara?

Tuatahi, me maarama tatou,He aha i ohorere ai te "ngenge" a Nginx?He maha nga take o te raru, kaua e mataku, me rapu tahi tatou i raro nei.

1. whirihoranga koretake

I roto i te kōnae whirihoranga Nginx, ko te mea tino nui worker_processes. Ka whakatauhia e tenei tawhā te maha o nga tukanga i timatahia e Nginx.

  • Mena ka whirihorahia e koe he iti rawa nga mahi a nga kaimahi, ka piki ake te uta o te PTM ki te nui rawa te whirihora, ka iti te mahara.
  • Me rapu e koe he tohu toenga, hei tauira,Tautuhia nga tukanga_kaimahi ki te 1 ki te 2 nga wa te maha o nga matua CPU.
  • Mena kei a koe nga 4 core ka ngana worker_processes 4 Whakaritea tika ranei ki auto.

2. Ka piki haere nga haerenga

I etahi wa ka piki ohorere te uta a Nginx ehara i te mea i he koe, engari na te nui rawa o nga haerenga.Ko te nui o nga tono urunga ka paopao te mahi a te kaimahi Nginx., ko nga tukanga katoa ka nui te utaina, ka ki tonu te PTM me te mahara. I tenei wa, ka hiahia koe ki te whakapai ake i nga rauemi tūmau, penei i te whakanui ake i te maha o nga matua CPU, te whakanui ake ranei i te mahara. Ae ra, he whakamaharatanga ano tenei: kaua e wareware ki te whakaaro ki te whakaheke i te CDN, ki te whakataurite kawenga ranei.

3. I tutuki nga whakaeke kino

Ko te "tino rongonui" i runga i te Ipurangi ehara i te mea pai i nga wa katoa. Mena ka kitea e koe he tino nui te whakamahinga o te PTM me te take o te tono IP he hihira, tera pea kei te mamae to paetukutuku i te whakaeke DDoS. I tenei wa,Me toha koe i te papangaahi me te whakawhāiti tonu i te auau uru, penei i te whakamahi i te waahanga here o naianei ka tae mai me Nginx, te whakatu ranei i tetahi rarangi pango IP.

Me pehea te whakaoti i te raruraru o te whakamahinga mahara nui o te tukanga Nginx?

Na ko te patai, he aha te mahi a nga kaimahi Nginx i nui ai nga rauemi? Me timata me te whirihoranga me te arotau i te taahiraa ma te taahiraa.

Tikanga whirihora

  1. Whakatuwherahia te kōnae whirihoranga Nginx: Ko te tikanga, ko te konae whirihoranga matua o Nginx kei te /etc/nginx/nginx.conf.

  2. Whakatuu worker_processes: I kitea i roto i te konae whirihoranga events poraka, tautuhinga worker_processes uara. ki te kore events poraka, me hanga e koe tetahi.

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

1. Whakaritea nga hononga_kaimahi

nginx worker_connections Ka whakatauhia e te tawhā te maha o nga hononga ka taea e ia mahi kaimahi te whakahaere. Mena he iti rawa, ka pa ki te mahi concurrency;

Me pehea te tatau i te uara e tika ana?

Ki te whakaaro kei a koe he PTM 4-matua me te 16GB o te RAM, he timatanga haumaru worker_connections 4096.

Engari mena he nui te hokohoko o to paetukutuku, whakaarohia te whakanui ake i tenei uara ki te 8192 kia mohio ai ka taea e ia tukanga te whakahaere i nga tono nui.

events {
    worker_connections 8192;
}

Ma tenei ara, ka tino pai ake te mana tukatuka o Nginx.

2. Whakaritea keepalive_timeout

Ko tetahi atu tohu matua mo Nginx ki te hapai i nga tono ko keepalive_timeout.

Ma tenei tautuhinga e whakatau te roa o te hononga o te kiritaki ki te tūmau ka taea te pupuri.

Mena he roa rawa te tautuhi, ka nui rawa nga rauemi hononga..

Ka taea e koe te ngana keepalive_timeout Whakaritea ki te 15 hēkona hei pupuri i te hononga me te tuku rauemi.

keepalive_timeout 15;

3. Arotauhia nga tepe whakaahuatanga konae

Ma te taunoa,Linux He rohe te punaha ki te maha o nga kaiwhakaahua konae ka taea te whakatuwhera ma ia mahinga.

Mena ka hiahia a Nginx ki te tukatuka i te maha o nga konae (penei i nga rauemi pateko), ka kite pea koe i tetahi hapa mai i Nginx, ka akiaki "too many open files‖.

ka taea e koe te paahi worker_rlimit_nofile Whakanuia te tepe whakaahuatanga kōnae, hei tauira ka whakatakotoria ki te 65535.

worker_rlimit_nofile 65535;

4. Whakahohea te keteroki me te gzip

Ko te keteroki me te kōpeketanga e rua nga matua ki te arotautanga mahi paetukutuku.

Ma te whakaahei i te mahi keteroki a Nginx, ka taea te pupuri i nga rauemi pateko (penei i nga whakaahua me nga konae JS) ki te mahara., na reira ka tino whakaitihia te uta i runga i te tūmau.

I tua atu, ka taea e te huri i te mahi kōpeketanga gzip te whakaiti i te nui o nga raraunga ka tukuna me te whakapai ake i te tere o te paetukutuku.

gzip on;
gzip_types text/plain application/javascript;

5. Tātarihia te whakamahi rauemi Nginx

Ka mutu, mena kua oti i a koe nga arotautanga katoa o runga ake nei engari he maha tonu nga PTM kei a Nginx, ka hiahia pea koe ki te whakamahi i etahi taputapu mo te tātari hohonu.

whakamahi tophtop Tirohia te kohi rauemi mo te wa-tūturu o tetahi tukanga, haere strace Aroturuki waea pūnaha, whakamahi ranei nmon Hangaia he ripoata mahi. Ma te tātari matawhānui i te mahi a Nginx ka taea e tatou te mahi tika ake.

总结

Kaua e mataku i te wa e piki ana te whakamahi CPU a Nginx. Na te whirihoranga hee, na te nui o te hokohoko ranei.

na roto i nga whakatikatika whaitake worker_processes A worker_connectionsMa te whakaahei i te keteroki, te arotau i nga waahi me nga kaiwhakaahua konae, ka taea e koe te whakaiti i te pehanga uta ki runga i a Nginx.

Ko Nginx he tūmau tukutuku kaha, ka taea e koe te mahi pai mo to paetukutuku.

Kia mahara, ka taea e koe te whakautu i nga pataiPūtaiaotikanga ki te whakaoti i te reira, te arotau i te mahi tūmau kahore he okotahi.

Aroturuki me te whakatika i te wa tika, Ko te matua ki te pupuri i te Nginx kia pai te rere. Mena ka taea e koe te mohio ki enei tikanga, ka noho haumaru to paetukutuku ahakoa he nui te hokohoko, he whakaeke kino ranei.

Te ti'aturi nei au na tenei tuhinga i whakatenatena koe, tere me te arotau i to Nginx!

发表 评论

Ka kore e whakaputaina to wahitau imeera. 必填 项 已 用 * Tapanga

Panuku ki te Runga