8-core 24GB VPS e felloa ke memori? Tataiso e sebetsang ea ho lokisa letamo la ts'ebetso ea PHP-FPM ka mokhoa o feteletseng ka HestiaCP

Palo ea basebelisi ba nako e le 'ngoe bao seva e ka sebetsanang le bona ha ea itšetleha ka hore na e na le li-core tse kae, empa e itšetlehile ka hore na ts'ebetso ka 'ngoe e sebelisa memori e kae.

Polelo ena e ka utloahala e le ntho e qholotsang, empa ke phihlelo ea 'nete le e bohloko ka ho fetisisa indastering ea ts'ebetso le tlhokomelo.

Hobaneng mohopolo e le bothata ba bohlokoa?

Batho ba bangata ba bona VPS e nang le CPU ea mantlha e 8 le memori ea 24GB 'me ka ho se lemohe ba nahana hore ba ka tsamaisa lits'ebetso tse makholo tsa PHP-FPM habonolo.

Leha ho le jwalo, ha e le hantle, tshebediso ya memori ya RSS ya tshebetso e le nngwe ya PHP hangata e hodimo ho 200MB.

Ena ke sephetho se fumanoeng ka teko ea 'nete ka mola oa taelo:

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

Mofuteng o rarahaneng oa HestiaCP le tikolohong ea li-plugin tse ngata, haholo-holo ntle le ntlafatso ea OPcache, 200MB ke ntho e tloaelehileng.

Sena se bolela hore memori, eseng CPU, ke moedi o thata o etsang qeto ea hore na chelete e lekana hakae.

8-core 24GB VPS e felloa ke memori? Tataiso e sebetsang ea ho lokisa letamo la ts'ebetso ea PHP-FPM ka mokhoa o feteletseng ka HestiaCP

Faele ea tlhophiso e khothaletsoang (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

Mokhoa oa ho bala oa paramethara le motheo oa ho beha

Litlhophiso tsa tlhophisoBoleng ba ho behaPalo ea mantlha le motheo oa ho seta
pmdynamicMokhoa oa matla o lumella ho eketsa kapa ho hlakola lits'ebetso tse thehilweng litlhoko tsa concurrency, ho leka-lekanya lebelo la karabelo le ts'ebeliso ea memori.
pm.max_children80Kakaretso ea memori ea 24GB ntle le kernel ea sistimi le MySQL/RedisKamora Nginx, ho setse hoo e ka bang 16GB bakeng sa PHP.16,384 MB / 200 MB ≈ 81.9Ho e beha ho 80 ho ka felisa OOM (Out of Memory) ka botlalo nakong ea ho lumellana ho hoholo.
li-server tsa pm.start16Ho futhumatsa ha ho qala ho beoa habeli palo ea li-core tsa CPU (li-core tse 8 × 2 = 16) ho netefatsa hore tšebeletso e ka sebetsana le tumellano ea motheo hang-hang kamora ho qala bocha.
li-server tsa pm.min_spare8Beha palo ea mantlha ea CPU ho li-core tse 8 ho netefatsa hore likopo tse ncha li ka arajoa neng kapa neng nakong ea sephethephethe se tlase.
li-server tsa pm.max_spare24E behe ho makhetlo a mararo ho feta palo ea li-core tsa CPU (li-core tse 8 × 3 = 24) ho boloka palo e itekanetseng ea lits'ebetso kamora hore sephethephethe se fokotsehe, e le ho sebetsana le ho feto-fetoha ha maemo hanyane.
pm.max_requests500Haeba ts'ebetso e le 'ngoe e fihla setsing se seholo sa 200MB, ho fokotsa palo ea likopo ho 500 pele ho senya le ho haha ​​​​bocha ho ka hloekisa ho lutla ha memori e sa tsejoeng kapele.
pm.process_idle_timeout10s超出 min_spare_servers Mekhoa e sa sebetseng e lokolloa ka bohona 'me e khutlisetsoa memoring ea sistimi kamora metsotsoana e 10 ea ho se kope letho.

Litlhahiso tsa Bohlokoa tsa Tšehetso le Ntlafatso

1. Mokhoa oa ho thibela ho hloleha ha boroko o nkang nako

request_terminate_timeout = 60s Ke sona senotlolo.

E ka felisa ka matla lits'ebetso tse khomaretsoeng ka lebaka la ho koaloa ha database kapa ho thibeloa ha API ea motho oa boraro.

Ho sa le jwalo, Nginx's fastcgi_read_timeout E lokela ho bolokoa bonyane metsotsoana e 60, ho seng jwalo moreki o tla e fumana pele ho nako. 504 Gateway Timeout.

2. Maano a ho hlola mathata a ho hopola

Ho ba le lits'ebetso tse 80 tse tsamaellanang ho bolela hore tlas'a maemo a feteletseng a tumellano, sistimi e ka sebetsana le likopo tse 80 tse matla tsa HTTP ka nako e le 'ngoe.

Haeba o batla ho ntlafatsa bokgoni ba hao haholoanyane, sepheo e lokela ho ba ho fokotsa tshebediso ya memori ka tshebetso.

  • Numella OPcache: ka hare php.ini Tlhophiso e mahareng opcache.enable=1 le opcache.memory_consumption=256Ho boloka khoutu ea Bytecode ho ka fokotsa tšebeliso ea memori ea ts'ebetso e le 'ngoe ho tloha ho 200MB ho isa ho 60 ~ 100MB.
  • Taolo e utloahalang ea memori_e lekanyelitsoeng: 将 php.ini bohareng memory_limit E lekanyelitsoe ho 128M Kapa 256MHo thibela dingolwa tse sa tlwaelehang tsa motho ka mongse nang moeliE ja memori e ngata.

Hang ha ts'ebeliso ea memori ea ts'ebetso e le 'ngoe e theohela ho 100MB ...pm.max_children E ka ntlafatsoa ka mokhoa o sireletsehileng ho 150 Ho phaella moo, bokgoni ba ho kopanya tjhelete bo batla bo imenne habeli.

Maikutlo a bolaoli a qotsitsoeng

Ho ya ka dikgothaletso tse tokomaneng ya semmuso ya Nginx :

"Lisebelisoa tsa FastCGI li lokela ho lula li behiloe leihlo ka litaelo tsa nako ea ho tima ho thibela ho felloa ke matla ha lisebelisoa."
(Mohloli: Litokomane tsa Nginx)

Bukana ea semmuso ea PHP e bolela ka ho hlaka:

"pm.max_children e hlalosa palo e phahameng ka ho fetisisa ea lits'ebetso tsa bana tse lokelang ho etsoa. ​​Ena ke taelo ea bohlokoa ka ho fetisisa."
(Mohloli: Litokomane tsa PHP-FPM)

Maikutlo ana a nang le matla a tsamaisana hantle le mekhoa ea rona, a paka hore mokhoa oa ntlafatso ha o itšetlehe feela ka boiphihlelo, empa hape o thehiloe mekhoeng e metle e tloaelehileng.

Qetello: Maikutlo a ka le Liqotso tsa Bohlokoa

Maemong a nang le tjhelete e ngata, CPU ke enjene, memori ke tanka ya mafura, mme PHP-FPM ke mofalli wa dikepe.

Ho sa tsotelehe hore na enjene e matla hakae, haeba tanka ea peterole e sa lekana, mokoloko o ke ke oa ea hole haholo.

Litsebi tsa 'nete ha li fetise liparamente ka bofofu, empa li bala ka nepo tšebeliso ea memori ea ts'ebetso e 'ngoe le e 'ngoe ho qoba tšenyo le ho tlala.

Ntlha ea bohlokoa ea ntlafatso ke ho fumana botsitso bo botle ka mehloli e fokolang.

Hona ha se theknoloji feela, empa hape ke filosofi.

Ka hona, khaotsa ho lumela hore "palo ea li-cores e etsa qeto ea ntho e 'ngoe le e 'ngoe." Seo ehlile se etsang qeto ea moeli oa concurrency ke taolo ea hau holim'a memori.

Nka khato 'me u ntlafatse VPS ea hau ka botlalo, u sebelise monyetla o mong le o mong oa memori.

Comments

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

Scroll ho Top