Kua pau te mahara o te VPS 8-matua 24GB? He aratohu whai hua mō te whakatikatika i te puna tukanga PHP-FPM tino nui me HestiaCP

Ko te maha o ngā kaiwhakamahi ōrite ka taea e te tūmau te whakahaere, ehara i te mea e whakawhirinaki ana ki te maha o ngā matua o ia tūmau, engari ki te nui o te mahara e pau ana i ia tukanga.

Ahakoa te āhua whakapataritari i tēnei kōrero, koinei te wheako tūturu me te mamae rawa atu i roto i te umanga whakahaere me te tiaki.

He aha te mahara te arai matua?

He tokomaha te hunga e kite ana i tētahi VPS me tētahi PTM 8-matua me te mahara 24GB, ā, e whakaaro pōhēhē ana ka taea e rātou te whakahaere i ngā rau o ngā tukanga PHP-FPM.

Heoi, ko te mea pono, ko te whakamahinga mahara RSS o tētahi tukanga PHP kotahi ka eke ki te 200MB.

Koinei te hua i whiwhihia mā te whakamātautau tūturu mā te raina whakahau:

ps --no-headers -o rss -p $(pgrep php-fpm) | awk '{sum+=$1} END {print sum/NR/1024 " MB"}'

I roto i te taiao anga matatini me te maha-monomai a HestiaCP , ina koa kāore he arotautanga OPcache, ko te 200MB te mea noa.

Ko te tikanga o tēnei ko te mahara, ehara i te CPU, te rohe pūmau e whakatau ana i te auautanga mōrahi.

Kua pau te mahara o te VPS 8-matua 24GB? He aratohu whai hua mō te whakatikatika i te puna tukanga PHP-FPM tino nui me HestiaCP

Kōnae whirihoranga kua tūtohutia (php-fpm.conf)

pm = dynamic
pm.max_children = 80
pm.start_servers = 16
pm.min_spare_servers = 8
pm.max_spare_servers = 24
pm.max_requests = 500
pm.process_idle_timeout = 10s
request_terminate_timeout = 60s

Te arorau tatau tawhā me te pūtake tautuhinga

Tawhā whirihorangaTe tautuhinga uaraTe tātaitanga matua me te pūtake whakatūnga
pmdynamicMā te aratau hihiri ka taea te tāpiri, te muku rānei i ngā tukanga i runga i ngā whakaritenga ōrite, te whakataurite i te tere urupare me te whakamahinga mahara.
pm.max_tamariki8024GB te mahara katoa, engari kāore he kernel pūnaha me te MySQL/RedisWhai muri i a Nginx, tata ki te 16GB e toe ana mō te PHP.16,384 MB / 200 MB ≈ 81.9Mā te whakatakoto ki te 80 ka taea te whakakore katoa i te OOM (Out of Memory) i te wā e nui ana te mahi tahi.
ngā tūmau_tīmata.pm16Ka whakatakotoria te whakamahana-mua i te tīmatanga ki te rua te maha o ngā matua CPU (8 matua × 2 = 16) kia taea ai e te ratonga te whakahaere tonu i ngā mahi taketake i muri i te tīmatanga anō.
pm.min_spare_servers8Tautuhia te tatau o te matua CPU ki te 8 matua kia taea ai te whakautu i ngā tono hou i ngā wā iti te waka.
pm.max_spare_servers24Tautuhia kia 3 ngā whakarea o te maha o ngā matua CPU (8 matua × 3 = 24) hei pupuri i te maha o ngā tukanga i muri i te hokinga o te rere o ngā raraunga, kia taea ai te whakahaere i ngā piki me ngā heke ngāwari.
pm.max_requests500Mena ka eke te rahi o tētahi tukanga kotahi ki te 200MB, mā te whakaiti i te maha o ngā tono ki te 500 i mua i te whakangaromanga me te hanga anō ka tere ake te horoi i ngā turuturu mahara ngaro.
pm.process_idle_timeout10s超出 min_spare_servers Ka tukuna aunoatia ngā tukanga mangere, ka whakahokia ki te mahara pūnaha i muri i te 10 hēkona o te kore tono.

Ngā Tautuhinga Tautoko Matua me ngā Whakaaro Arotau

1. Tikanga ārai-mate pāwera wā-mutunga

request_terminate_timeout = 60s Koinā te kī.

Ka taea e ia te whakamutu ā-ture i ngā tukanga kua mau nā te korenga o te pātengi raraunga, te aukati rānei i te API a te hunga tuatoru.

I taua wā, ko Nginx fastcgi_read_timeout Me pupuri mō te 60 hēkona neke atu rānei, ki te kore ka tae wawe mai ki te kiritaki. 504 Gateway Timeout.

2. Ngā rautaki hei whakakore i ngā aukati mahara

Ko te mōrahi o ngā tukanga tukutahi e 80, ko te tikanga i raro i ngā āhuatanga tukutahi tino nui, ka taea e te pūnaha te whakahaere i te mōrahi o ngā tono HTTP hihiri e 80 i te wā kotahi.

Ki te hiahia koe ki te whakapai ake i te kaha o te tukatuka, me arotahi koe ki te whakaiti i te whakamahinga mahara mō ia tukanga.

  • Whakahohe OPcache:在 php.ini Whirihoranga waenga opcache.enable=1 Na opcache.memory_consumption=256Ka taea e te keteroki bytecode te whakaiti i te whakamahinga mahara o tētahi tukanga kotahi mai i te 200MB ki te 60~100MB.
  • Te whakahaere tika o te memory_limit:将 php.ini waenga memory_limit He iti noa iho 128M256MHei ārai i ngā tuhinga rerekē takitahimutunga koreHe nui te mahara e pau ana.

Kia heke te whakamahinga mahara o tētahi tukanga ki te 100MB...pm.max_children Ka taea te whakapai ake me te haumaru ki 150 Hei tāpiritanga, kua tata rua te kaha o te mahi tahi.

Ngā tirohanga mana i whakahuatia

E ai ki ngā taunakitanga i roto i te tuhinga Nginx mana :

"Me aroturuki tonu ngā tono FastCGI me ngā tohutohu wā-mutunga hei ārai i te paunga o ngā rauemi."
(Pūtake: Ngā Tuhinga Nginx)

E mārama ana te pukapuka ā-ringa PHP :

"Ka tautuhia e te pm.max_children te maha mōrahi o ngā tukanga tamariki hei waihanga. Koinei te tohutohu tino nui."
(Pūtake: Ngā tuhinga PHP-FPM)

He tino ōrite ēnei tirohanga whai mana ki ā mātou mahi, e whakaatu ana ko te arorau arotautanga ehara i te mea e ahu mai ana i ngā wheako anake, engari i ngā mahi pai paerewa anō hoki.

Whakamutunga: Ōku Tirohanga me ngā Kōrero Matua

I ngā horopaki tere-taurite, ko te CPU te miihini, ko te mahara te tāke wahie, ā, ko PHP-FPM te kaiwhakahaere waka.

Ahakoa te kaha o te mīhini, ki te kore e ranea te rahi o te tāke wahie, e kore te tira waka e haere tawhiti.

Kāore ngā tohunga tūturu e whakamahi noa i ngā tawhā, engari e tatau tika ana i te whakamahinga mahara o ia tukanga hei karo i te moumou me te waipuke.

Ko te uho o te arotautanga ko te kimi i te taurite tino pai me ngā rauemi iti.

Ehara tēnei i te hangarau noa iho, engari he rapunga whakaaro anō hoki.

Nō reira, kati te whakapono "ko te maha o ngā matua te mea e whakatau ana i ngā mea katoa." Ko te mea e tino whakatau ana i te rohenga ōrite ko tō mana whakahaere i te mahara.

Mahihia te mahi me te arotau i tō VPS ki tōna pūmanawa katoa, me te whakamahi pai i ia maturuturunga mahara.

发表 评论

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

Panuku ki te Runga