Habaynta PHP-FPM: isticmaal pm static si aad u hesho wax qabad ugu badan

Habaynta PHP-FPM: isticmaal pm static si aad u hesho wax qabad ugu badan

Maqaalkan oo aan la tafatirin ayaa markii hore lagu daabacay haydenjames.io oo halkan lagu daabacay iyada oo ogolaansho ah qoraa.

Waxaan si kooban kuugu sheegi doonaa sida ugu wanaagsan ee loo habayn karo PHP-FPM si loo kordhiyo wax soo saarka, loo yareeyo daahitaanka, loona isticmaalo CPU iyo xusuusta si joogto ah. Sida caadiga ah, khadka PM (maamulaha habsocodka) ee PHP-FPM waa firfircoon, iyo haddii aadan haysan xusuusta ku filan, ka dibna waxa fiican in la rakibo ondemand. Aynu is barbar dhigno 2 ikhtiyaar oo kontorool ah oo ku saleysan dukumeentiyada php.net oo arag sida kuwa aan jeclahay uga duwan yahay iyaga ma guurto ah pm gaadiidka mugga sare leh:

pm = firfircoon - tirada hababka ilmaha waxaa loo habeeyey si firfircoon iyadoo lagu salaynayo dardaaranka soo socda: pm.max_children, pm.start_servers,pm.min_spare_servers, pm.max_spare_servers.
pm = codsi Nidaamyada waxaa loo abuuraa baahi (oo ka duwan abuurista firfircoon, marka pm.start_servers la bilaabo marka adeeggu bilaabmo).
pm = taagan - tirada hababka ilmaha waa go'an oo waxaa lagu tilmaamay by parameter pm.max_carruur.

Faahfaahinta, eeg liis dhamaystiran oo ah amarada caalamiga ah php-fpm.conf.

Wax u ekaanshaha udhaxeya maamulaha habka PHP-FPM iyo kantaroolaha inta jeer ee CPU

Tani waxay u ekaan kartaa meel-ka-baxsan, laakiin waxaan ku xirayaa tan mowduuca qaabeynta PHP-FPM. Yaa aan la kulmin hoos u dhaca processor-ka ugu yaraan hal mar-laptop, mashiinka farsamada ama server-ka gaarka ah. Xusuusnow cabbirida inta jeer ee CPU? Doorashooyinkan ayaa diyaar u ah nix iyo Windows waxay wanaajin karaan waxqabadka nidaamka iyo ka jawaabista iyagoo ka beddelaya goobta ceejinta processor-ka ondemand on waxqabadka*. Markan, aan is barbar dhigno sharraxaadda oo aan eegno waxyaabaha ay isaga eg yihiin:

guddoomiye=dalab - Miisaanka firfircoon ee inta jeer ee processor-ka iyadoo ku xiran culeyska hadda jira. Si degdeg ah u booda ilaa inta jeer ee ugu badan ka dibna hoos u dhigaya iyada oo muddooyinka dhaqdhaqaaq la'aantu ay kordheyso.
gudoomiye=muxaafid= Miisaanka soo noqnoqda firfircoon ee ku xiran culeyska hadda jira. Waxay u kordhisaa oo u yaraysaa soo noqnoqoshada si habsami leh marka loo eego dalabka.
Guddoomiye = waxqabad - inta jeer waa had iyo jeer ugu badnaan.

Faahfaahinta, eeg Liiska buuxa ee cabbirada nidaamiyaha soo noqnoqda processor-ka.

Eeg waxyaalaha ay isaga mid yihiin? Waxaan rabay inaan tuso isbarbardhiggan si aan kuugu qanciyo inay ugu fiican tahay in la isticmaalo pm taagan loogu talagalay PHP-FPM.

Qiyaasaha nidaamiyaha processor-ka waxqabadka waxay ka caawisaa inay si badbaado leh u kordhiso waxqabadka sababtoo ah waxay gebi ahaanba ku xidhan tahay xadka CPU ee server-ka. Intaa waxa dheer, dabcan, waxa kale oo jira arrimo ay ka mid yihiin heerkulka, kharashka batteriga (laptop) iyo waxyeellooyin kale oo ka yimaada si joogto ah u socodsiinta processor-ka 100%. Dejinta waxqabadka waxay hubisaa waxqabadka processor-ka ugu dhaqsaha badan. Akhri, tusaale ahaan, ku saabsan Force_turbo parameter gudaha Raspberry Pi, kaas oo guddiga RPi uu isticmaali doono maamulaha waxqabadka, halkaasoo hagaajinta waxqabadku noqon doonto mid si aad ah loo dareemo sababtoo ah xawaaraha saacadda CPU ee hooseeya.

Isticmaalka pm static si loo gaaro waxqabadka ugu sarreeya ee serverka

Xulashada PHP-FPM pm taagan Inta badan waxay ku xiran tahay xusuusta xorta ah ee server-ka. Haddii xusuustu hooseyso, waxaa fiican in la doorto ondemand ama firfircoon. Dhanka kale, haddii aad leedahay xusuusta, waxaad ka fogaan kartaa maareeyaha habka PHP ee dusha sare adoo dejinaya pm ma guurto ah ilaa inta ugu badan ee awooda server-ka. Si kale haddii loo dhigo, haddii wax walba si fiican loo xisaabiyo, waxaad u baahan tahay inaad dhisto pm. taagan ilaa mugga ugu badan ee hababka PHP-FPM ee la fulin karo, iyada oo aan la abuurin dhibaatooyinka xusuusta hoose ama kaydinta. Laakiin maaha mid aad u sarreeya oo ay ka adkaato soo-saareyaasha oo ay uruuriso farabadan oo ka mid ah hawlgallada PHP-FPM oo sugaya in la fuliyo..

Habaynta PHP-FPM: isticmaal pm static si aad u hesho wax qabad ugu badan

Sawirka kore, server-ku wuxuu leeyahay pm = taagan iyo pm.max_carruur = 100, tanina waxay qaadataa qiyaastii 10 GB oo ka mid ah kuwa la heli karo Shaashadan waxa ku jiray ku dhawaad ​​32 isticmaaleyaal firfircoon (in ka badan 200 sekan) Google Analytics. Heerkan, ku dhawaad ​​60% hababka ilmaha ee PHP-FPM waa hawl-la'aan. Tani waxay ka dhigan tahay in PHP-FPM had iyo jeer lagu dejiyo qadarka ugu badan ee ilaha server iyadoon loo eegin taraafikada hadda. Habka shaqo la'aanta ah wuxuu sugayaa taraafikada ugu sarreysa wuxuuna u jawaabaa isla markiiba. Uma baahnid inaad sugto ilaa pm waxay abuuri doontaa hababka ilmaha ka dibna joojin doona marka caadadu dhammaato pm.process_idle_timeout. Waxaan dhigay qiimaha mid aad u sarreeya pm.max_codsiyadasababtoo ah kani waa adeege shaqaynaya oo aan wax xasuus ahi ka daadan PHP. Waad rakibi kartaa pm.max_requests = 0 oo leh static haddii aad si buuxda ugu kalsoon tahay qoraallada PHP ee jira iyo kuwa mustaqbalka. Laakiin way fiicantahay in dib loo sameeyo qoraallada waqti ka dib. Deji codsiyo tiro badan, sababtoo ah waxaan rabnaa inaan iska ilaalino kharashyada pm aan loo baahnayn. Tusaale ahaan, ugu yaraan pm.max_requests = 1000 - iyadoo ku xiran tirada pm.max_carruur iyo tirada codsiyada ilbiriqsikiiba.

Sawirku wuxuu muujinayaa amarka Linux sare, waxaa sifeeyay u (user) iyo magaca isticmaalaha PHP-FPM. Kaliya 50-ka hab ee ugu horreeya ama wax ka badan ayaa la muujiyay (ma tirin si sax ah), laakiin asal ahaan sare ayaa muujinaya tirakoobyada ugu sarreeya ee ku habboon daaqadda terminalka. Xaaladdan waxaa lagu kala saaray % CPU (% CPU). Si aad u aragto dhammaan 100ka habraac ee PHP-FPM, socodsii amarka:

top -bn1 | grep php-fpm

Goorta la isticmaalayo pm ondemand iyo firfircoon

Haddii aad isticmaasho pm firfircoon, khaladaadka sidan oo kale ah ayaa dhaca:

WARNING: [pool xxxx] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 4 idle, and 59 total children

Isku day inaad beddesho cabbirka, khaladku ma bixi doono, sida lagu sharaxay boostadan Serverfault. Xaaladdan oo kale, qiimaha pm.min aad ayuu u yaraa, maadaama taraafikada shabakadu aad u kala duwan tahay oo ay leedahay meelaha ugu sarreeya iyo dooxooyinka qoto dheer, way adagtahay in si ku filan loo hagaajiyo pm firfircoon. Caadiyan pm ayaa la isticmaalaa ondemand, sida lagu taliyay isla qoraalkaas. Laakiin tani way ka sii daran tahay, sababtoo ah ondemand waxay joojisaa hawlaha shaqo-la'aanta ah ee eber marka ay yar tahay ama aysan jirin wax gaadiid ah, oo waxaad weli ku dhamaan doontaa dusha sare ee beddelka taraafikada. Ilaa, dabcan, inaad dejisay wakhti sugitaan oo weyn. Kadibna way fiicantahay in la isticmaalo pm. taagan + tiro sare pm.max_codsiyada.

PM firfircoon iyo gaar ahaan ondemand waxaa laga yaabaa inay ku anfacdo haddii aad leedahay barkado badan oo PHP-FPM ah. Tusaale ahaan, waxaad marti gelisaa xisaabaadyo badan oo cPanel ah ama shabakado badan oo barkado kala duwan ah. Waxaan haystaa server leh, dheh, 100+ akoonnada cpanel iyo ilaa 200 domains, iyo pm.static ama xitaa firfircooni ima badbaadin doono. Waxa kaliya ee aad u baahan tahay halkan waa ondemand, ka dib oo dhan, in ka badan saddex meelood laba meel oo ka mid ah websites helaan wax yar ama ma taraafikada, iyo la ondemand Dhammaan hababka carruurtu way dhici doonaan, taas oo naga badbaadin doonta xusuus badan! Nasiib wanaag, horumariyayaashii cPanel ayaa tan ogaaday oo waxay dejiyeen qiimihii hore ondemand. Markii hore, marka ay khalad tahay firfircoon, PHP-FPM kuma habboonayn server-yada la wadaago ee mashquulka badan. Qaar badan ayaa isticmaalay suPHP, sababtoo ah pm firfircoon Xusuusta la isticmaalo xitaa barkadaha aan shaqayn iyo xisaabaadka cPanel PHP-FPM. Waxay u badan tahay, haddii taraafiggu wanaagsan yahay, laguguma martigelin doono server leh tiro badan oo barkadaha PHP-FPM ah (martigelinta la wadaago).

gunaanad

Haddii aad isticmaalayso PHP-FPM oo taraafikadaadu ay culus tahay, maamulayaasha nidaamka ondemand ΠΈ firfircoon PHP-FPM waxa ay noqon doontaa mid xadidan wax soo saarka sababtoo ah dulsaarkooda. Faham nidaamkaaga oo u habbee hababka PHP-FPM iyadoo loo eegayo awoodda server-ka ugu badan. Marka hore pm.max_carruur iyadoo ku xiran isticmaalka pm ugu badnaan firfircoon ama ondemand, ka dibna kor u qaad qiimahan oo aad gaadhsiiso heer ay xusuusta iyo processor-ku shaqayn doonaan iyada oo aan la xad-dhaafin. Waxaad taas ku ogaan doontaa pm taagan, maadaama aad haysatid wax kasta oo xusuusta ah, taraafiggu wuxuu sababi doonaa koror yar oo CPU ah waqti ka dib, iyo celceliska culeyska serferka iyo CPU ayaa soo bixi doona. Celcelis ahaan cabbirka habka PHP-FPM wuxuu ku xiran yahay server-ka shabakadda wuxuuna u baahan yahay qaabeynta gacanta, sidaa darteed maareeyayaal badan oo otomaatiga ah ayaa ah firfircoon ΠΈ ondemand - ka sii caan ah. Waxaan rajeynayaa in maqaalku uu ahaa mid faa'iido leh.

DUP Shaxda cabbirka ee lagu daray ab. Haddii hababka PHP-FPM ay ku jiraan xusuusta, wax qabadku wuxuu kordhiyaa kharashka isticmaalka xusuusta halka ay fadhiyaan oo ay ku sugayaan. Raadi ikhtiyaarka ugu fiican naftaada.

Habaynta PHP-FPM: isticmaal pm static si aad u hesho wax qabad ugu badan

Source: www.habr.com

Add a comment