Menene zan yi idan uwar garken Nginx yana da babban nauyin CPU da aiwatar da amfani da ƙwaƙwalwar ajiya?

Shin kun gano ba zato ba tsammani a wurin aiki cewa amfani da CPU na Nginx ya tashi sama? Don yin muni, matakan ma'aikata da yawa na Nginx suna cin albarkatu kamar mahaukaci duk lokacin da na kalli hanyoyin.

Ganin wannan yanayin, kai ya yi zafi kuma ba za ka iya yin ihu ba: "Ya Ubangiji, shin uwar garken zai fashe?" Nginx Muna buƙatar ku yi ingantaccen haɓakawa!

Binciken abubuwan da ke haifar da nauyin Nginx mai yawa

Menene zan yi idan uwar garken Nginx yana da babban nauyin CPU da aiwatar da amfani da ƙwaƙwalwar ajiya?

Da farko, dole ne mu gane,Me yasa Nginx ba zato ba tsammani ya zama "gajiya"?Akwai dalilai da yawa na matsalar, kada ku ji tsoro, bari mu gano tare a kasa.

1. Tsari mara ma'ana

A cikin fayil ɗin sanyi na Nginx, mafi mahimmancin batu shine worker_processes. Wannan siga yana ƙayyade adadin hanyoyin da Nginx ya fara.

  • Idan kun saita matakan ma'aikata da yawa, nauyin CPU zai yi yawa;
  • Dole ne ku nemo ma'auni, misali,Saita ma'aikata_processes zuwa sau 1 zuwa 2 yawan adadin cores na CPU.
  • Idan kana da muryoyi 4 to gwada worker_processes 4 Ko saita shi kai tsaye zuwa auto.

2. Ziyarci karuwa

Wani lokaci, nauyin Nginx ya tashi ba zato ba tsammani ba don kun yi kuskure ba, amma saboda yawan ziyarar ya yi yawa.Buƙatun samun dama a lokaci ɗaya zai sa aikin ma'aikacin Nginx ya cika., kowane tsari yana da yawa, kuma CPU da ƙwaƙwalwar ajiya ma sun cika. A wannan lokacin, ƙila za ku buƙaci haɓaka albarkatun uwar garken, kamar ƙara yawan adadin CPU ko ƙara ƙwaƙwalwar ajiya. Tabbas, wannan kuma tunatarwa ce: kar ku manta kuyi la'akari da sauke CDN ko daidaita nauyi.

3. An fuskanci munanan hare-hare

Kasancewa "sannu sosai" akan Intanet ba koyaushe abu ne mai kyau ba na iya kaiwa hari a kowane lokaci. Idan ka ga cewa amfani da CPU yana da girma sosai kuma tushen buƙatun IP yana da shakku, yana yiwuwa gidan yanar gizon ku yana fama da harin DDoS. A wannan lokacin,Kuna buƙatar tura bangon wuta ko iyakance mitar shiga nan da nan, kamar yin amfani da tsarin iyakance na yanzu wanda ya zo tare da Nginx, ko kafa jerin baƙaƙen IP.

Yadda za a magance matsalar babban ƙwaƙwalwar amfani da tsarin Nginx?

Don haka tambayar ita ce, me yasa tsarin ma'aikacin Nginx ke ɗaukar albarkatun da yawa? Dole ne mu fara tare da daidaitawa kuma mu inganta shi mataki-mataki.

Hanyar daidaitawa

  1. Bude fayil ɗin sanyi na Nginx: Yawancin lokaci, babban fayil ɗin sanyi na Nginx yana a /etc/nginx/nginx.conf.

  2. Kafa worker_processes: An samo shi a cikin fayil ɗin sanyi events tubalan, saituna worker_processes daraja. in ba haka ba events toshe, kuna buƙatar ƙirƙirar ɗaya.

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

1. Saita haɗin haɗin ma'aikaci daidai

nginx worker_connections Ma'auni yana ƙayyade iyakar adadin haɗin da kowane ma'aikaci zai iya ɗauka. Idan ya yi ƙanƙanta, zai shafi aikin haɗin gwiwa idan ya yi girma, yana iya cinye albarkatu da yawa.

Yadda za a lissafta ƙimar da ta dace?

Da ace kana da 4-core CPU da 16GB na RAM, amintaccen wurin farawa shine worker_connections 4096.

Amma idan gidan yanar gizon ku yana da yawan zirga-zirga, la'akari da ƙara wannan darajar zuwa 8192 don tabbatar da cewa kowane tsari zai iya ɗaukar isassun buƙatun.

events {
    worker_connections 8192;
}

Ta wannan hanyar, ƙarfin sarrafa Nginx zai inganta sosai.

2. Daidaita keepalive_timeout

Wani maɓalli na maɓalli don Nginx don sarrafa buƙatun shine keepalive_timeout.

Wannan saitin yana ƙayyade tsawon lokacin da za a iya kiyaye haɗin abokin ciniki zuwa uwar garken.

Idan an saita shi da tsayi, zai mamaye albarkatun haɗin kai da yawa..

Kuna iya gwadawa keepalive_timeout Saita zuwa daƙiƙa 15 don kiyaye haɗin gwiwa da sakin albarkatun.

keepalive_timeout 15;

3. Haɓaka iyakokin bayanin fayil

Ta hanyar tsoho,Linux Tsarin yana da iyaka akan adadin masu bayanin fayil wanda kowane tsari zai iya buɗewa.

Idan Nginx yana buƙatar aiwatar da babban adadin fayiloli (kamar albarkatu masu tsayi), kuna iya ganin kuskure daga Nginx, yana sa "too many open files".

za ku iya wucewa worker_rlimit_nofile Ƙara iyakar bayanin fayil, misali saita zuwa 65535.

worker_rlimit_nofile 65535;

4. Kunna caching da gzip

Caching da matsawa maɓallai biyu ne don haɓaka aikin gidan yanar gizon.

Ta hanyar kunna aikin caching na Nginx, ana iya adana albarkatu (kamar hotuna da fayilolin JS) a cikin ƙwaƙwalwar ajiya., ta haka ne ƙwarai rage lodi a kan uwar garke.

Bugu da kari, kunna aikin matsawa gzip na iya rage adadin bayanan da ake watsawa da inganta saurin gidan yanar gizo.

gzip on;
gzip_types text/plain application/javascript;

5. Yi nazarin amfani da albarkatun Nginx

A ƙarshe, idan kun gama duk abubuwan ingantawa na sama amma Nginx har yanzu yana ɗaukar CPU da yawa, kuna iya buƙatar amfani da wasu kayan aikin don zurfafa bincike.

amfani tophtop Duba yawan amfani da albarkatu na lokaci-lokaci na tsari, by strace Bibi tsarin kira, ko amfani nmon Ƙirƙirar rahotannin aiki. Ta hanyar cikakken nazarin ainihin aikin Nginx ne kawai za mu iya yin ingantaccen kunnawa.

总结

Kada ku firgita lokacin da Nginx's CPU amfani da spikes. Yana iya zama kawai ta hanyar daidaitawa mara kyau ko wuce gona da iri.

ta hanyar gyare-gyare masu ma'ana worker_processes kuma worker_connectionsTa hanyar ba da damar caching, inganta lokutan ƙarewa da masu bayanin fayil, zaku iya rage matsi mai mahimmanci akan Nginx.

Nginx sabar gidan yanar gizo ce mai ƙarfi wanda, lokacin da aka inganta shi da kyau, zai iya samar da kyakkyawan aiki don gidan yanar gizon ku.

Ka tuna, kowace tambaya za a iya amsa taKimiyyahanyoyin magance shi, inganta aikin uwar garken ba banda.

Saka idanu da daidaitawa cikin lokaci, shine mabuɗin don kiyaye Nginx yana gudana yadda ya kamata. Idan za ku iya ƙware waɗannan fasahohin, gidan yanar gizon ku zai kasance lafiya ko da a fuskantar babban cunkoso ko munanan hare-hare.

Ina fatan wannan labarin ya ƙarfafa ku, kuyi sauri ku inganta Nginx ku!

comments

Ba za a buga adireshin imel ɗin ku ba. Ana amfani da filayen da ake buƙata * Alamar

Gungura zuwa top