pelrêça gotarê
Dema server dixebite, gelo her tişt baş e? Bi rastî, di cîhana PHP-FPM de, pelê mîhengkirinê hişê rastîn e, ku diyar dike ka malper dikare bi awayekî stabîl, ewle û bi bandor bixebite an na.
Mîhengkirina hewza pêvajoyê ji bo PHP-FPM çi ye?
PHP-FPM (FastCGI Process Manager) rêveberekî pêvajoyan ji bo PHP ye ku têgeha "pools" bikar tîne da ku pêvajoyên PHP-ê ji bo malper an serîlêdanên cûda birêve bibe.
Herkes .conf Pel pênaseyeke hewzê ye ku parametreyên sereke yên wekî bikarhênerê ku pêvajo li ser dixebite, port an soketa ku ew guhdarî dike, rêya têketinê, û hejmara pêvajoyan diyar dike.
Bi gotineke din, ev pel ji bo servera we mîna "klonan" in, ku dihêlin malperên cûda bêyî ku destwerdana hev bikin, bi serbixwe bixebitin.

www.conf: Hewza pêvajoyê ya xwerû
Piştî sazkirina PHP-FPM, pergal dê bixweber çêbike www.conf belge.
Karê wê ew e ku hewzek xwerû peyda bike ku ji qutiyê ve dixebite, bi gelemperî di hundurê de dixebite ... www-data Bikaranîvan.
Ev hewz ji bo jîngehên yek-malperî minasib e, mîhengkirina wê hêsan e, û piraniya parametreyan nirxên gelemperî ne, wek:
user = www-datagroup = www-datalisten = /run/php/php8.3-fpm.sockpm.max_children = 5
Ger hûn tenê li ser yek malperê dimeşin, ev bes e.
etUFO.org.conf: Hewza malperên xwerû
Dema ku gelek malperên we hene, hûn hewce ne ku ji bo her malperê hewzek cuda biafirînin.
wek etufo.org.confEw bi taybetî ji bo navên domainê ye. etUFO.org Mîhengkirina taybet.
Pratîka hevpar ev e:
- Mînakî, bikarhêner û komên cûda diyar bikin
user = etufo,group = etufo - Bo nimûne, portek an soketek guhdarîkirinê ya cuda saz bike
listen = /run/php/etufo.sock - Ji bo ku aramiya malperê di bin hevdemiya bilind de misoger bibe, hejmara pêvajoyan eyar bikin.
- Pelên tomarê yên serbixwe çareserkirina pirsgirêkan hêsantir dikin.
Feydeya vê rêbazê îzolasyona ewlehiyê ye: heta eger êrîş li ser malperekê bê kirin jî, malperên din bandor nabin.
dummy.conf: Nimûne an pelê cîhgir
dummy.conf Ev bi gelemperî şablon an mînakên ku ji hêla pergalê ve têne peyda kirin in.
Ew ê bi rastî neyê çalak kirin heya ku hûn bi destan neguherînin û çalak nekin.
Armanca wê ew e ku referansek peyda bike û nîşanî te bide ka meriv çawa mîhengê hewzê yê nû dinivîse.
Ji ber vê yekê, ew ji mîhengkirinek rastîn a xebitandinê bêtir dişibihe "rêbernameya rêwerzan".
Çima gelek pelên hewzê bikar bînin?
- 安全 性Ji bo rêgirtina li hevgirtina destûran, divê malperên cuda ji hêla bikarhênerên cuda ve werin birêvebirin.
- 性能优化Hejmara pêvajoyan dikare ji bo her hewzê bi awayekî ferdî were danîn û li gorî daxwaza trafîkê were sererast kirin.
- CudakirinTomar, derana çewtiyê, û portên guhdarîkirinê hemî ji hev cuda ne, ku çareserkirina pirsgirêkan hêsantir dike.
Bo nimûne, eger www.conf Ew hilweşiya.etufo.org.conf Ew dikare hîn jî bi awayekî normal bixebite û tevahiya serverê nexebitîne.
Senaryoyên serîlêdana pratîkî
- Servera yek-malperîTenê bikar bînin
www.confBes e. - Servera pirmalperî: Ji bo her malperê yek ava bike
.confDosyayên wekîetufo.org.conf. - mantel.confTenê ji bo referansê, nayê pêşniyar kirin.
Nimûneya Berawirdkirina Mîhengkirinê
www.conf (hewza xwerû)
[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm = dynamic
pm.max_children = 5
etufo.org.conf (Hozana Taybetî)
[etufo.org]
user = etufo
group = etufo
listen = /run/php/etufo.sock
pm = dynamic
pm.max_children = 20
access.log = /var/log/php-fpm/etufo.access.log
Hûn ê bibînin ku cûdahî di bikarhêner, navnîşana guhdarîkirinê û hejmara pêvajoyan de ye.
Guherandina parametreyên hewza pêvajoya PHP-FPM
Ger veavakirinê bikar tîne dînamîkEv rêbazek e ji bo pêş-destpêkirina hin pêvajoyên xebatê û bi dînamîkî verastkirina wan li gorî qebareya daxwazê, ku dema ku qebareya daxwazê ji nişkê ve zêde dibe, dikare zûtir bersiv bide.
Ji bo malperên ku xwedî hejmareke diyarkirî ya trafîkê ne, tê pêşniyar kirin ku bikar bînin pm = dynamicJi ber ku ew dikare hejmareke diyarkirî ya pêvajoyên bêkar biparêze û di dema hevdemiya bilind de ji 500 xeletiyan dûr bisekine.
Pêşniyar tê kirin ku tenê dema ku qebareya gihîştinê pir kêm be û çavkaniyên bîrê teng bin, were bikar anîn. pm = ondemand Ji bo rizgarkirina çavkaniyan.
Pêşniyar tê kirin ku ew were guheztin bo dînamîk û were xweşbînkirin. pm.max_children Û parametreyên din:
pm = dynamic
pm.max_children = 16 ; 根据服务器资源调整,建议值:CPU 核心数 × 2
pm.start_servers = 4 ; 初始进程数,建议设为 max_children × 25%
pm.min_spare_servers = 2 ; 最小空闲进程数
pm.max_spare_servers = 7 ; 最大空闲进程数
pm.max_requests = 3000 ; 每个子进程处理完 3000 个请求后自动重启
pm.process_idle_timeout = 10s ; 空闲进程 10s 后自动退出
Ev mîheng performansê misoger dike di heman demê de ku ji bermahiyên çavkaniyan dûr dikeve.
Ji bo rênimayên mîhengkirinê yên berfireh, ji kerema xwe li dersa jêrîn binêrin ▼
Li gorî belgeya fermî ya PHP:
"Her hewz dikare bi awayekî serbixwe were mîheng kirin, ku ji bo her serîlêdanê bikarhêner, sînor û mîhengên cûda dihêle."
Ev daxuyanî bi zelalî girîngiya mîhengkirina pir-hewzê destnîşan dike: serxwebûn, nermbûn, û kontrolkirinî.
Encam: Nêrîna Min
Mîhengkirina serverê mîna şefê orkestrayê ye, ku diyar dike ka divê her amûrek çawa were lêxistin.
www.conf Ew şefê orkestrayê yê xwerû ye, ji bo performansên solo guncaw e;etufo.org.conf Ew orkestrayek e ku ji bo sehneyek taybetî hatiye çêkirin; û dummy.conf Ew pêşnûmeyek ji partiturên muzîkê ye, ku tîne bîra we ka meriv çawa melodiyên nû dinivîse.
Di serdemeke ku balê dikişîne ser ewlehiya agahiyan û çêtirkirina performansê de, zanîna ka meriv çawa van pelên mîhengê bi rêkûpêk bikar tîne ji bo kontrolkirina jiyana serverekê mifteya sereke ye.
Mîheng ne tenê nivîsek hêsan e; ew giyanê serverekê ye.
Eger hûn xebitîbinWordPressJi bo sepanên pir-malperî, em bi tundî pêşniyar dikin ku hûn tavilê van pelên hewzê, nemaze mîhengên parametreyên hewza pêvajoyê, kontrol bikin û çêtir bikin da ku servera we bi rastî jî zexm be.
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ Gotara "Cûdahî û Teknîkên Optimîzasyonê yên Pelê Mîhengê PHP-FPM /etc/php/8.3/fpm/pool.d/" ku li vir hatiye parvekirin dibe ku ji we re bibe alîkar.
Bi xêr hatî bo parvekirina girêdana vê gotarê:https://www.chenweiliang.com/cwl-33845.html

