Imwe vhezheni isina kupepetwa yechinyorwa chino yakatanga kuburitswa pa
Ini ndichakuudza muchidimbu maitiro ekugadzirisa PHP-FPM kuti uwedzere kubuda, kuderedza latency, uye kushandisa CPU uye ndangariro zvakanyanya. Nekutadza, iyo PM (maitiro maneja) mutsetse muPHP-FPM iri simba, uye kana iwe usina chiyeuchidzo chakakwana, saka zviri nani kuisa ondemand. Ngatienzanise 2 sarudzo dzekutonga zvichibva pane php.net zvinyorwa uye tione kuti zvandinoda zvinosiyana sei nazvo kunofambira mberi pm kune yakakwira vhoriyamu traffic:
pm = simba - iyo nhamba yemaitiro emwana inogadziriswa zvine simba zvichienderana neanotevera mirairo: pm.max_children, pm.start_servers,pm.min_spare_servers, pm.max_spare_servers.
pm = zvinoda - maitiro anogadzirwa pane zvinodiwa (kusiyana nekugadzirwa kwesimba, apo pm.start_servers inotangwa kana sevhisi yatanga).
pm = static - nhamba yemaitiro emwana inogadziriswa uye inoratidzwa neparameter pm.max_children.
Kuti uwane mamwe mashoko, ona
Kufanana pakati pePP-FPM process maneja uye CPU frequency controller
Izvi zvingaite sezviri kunze, asi ini ndichabatanidza izvi nemusoro weiyo PHP-FPM kumisikidzwa. Ndiani asati amboona processor ichidzikira kamwechete - palaptop, muchina chaiwo kana sevha yakatsaurirwa. Rangarira CPU frequency kuyera? Izvi zvingasarudzwa zviripo nix uye Windows inogona kuvandudza mashandiro ehurongwa uye kupindura nekushandura processor throttle kuseta kubva ondemand pamusoro performance*. Panguva ino, ngatienzanise tsananguro uye titarise kufanana:
gavhuna=zvavanoda -Dynamic kuyera kwe processor frequency zvichienderana nemutoro wazvino. Nekukurumidza svetuka kusvika kune yakanyanya frequency uye wozoidzikisa sezvo nguva dzekusaita dzichiwedzera.
gavhuna=anochengeta= dynamic frequency scaling zvichienderana nemutoro wazvino. Inowedzera uye inoderedza frequency zvakapfava pane painoda.
Gavhuna = kuita - frequency inogara yakanyanya.
Kuti uwane mamwe mashoko, ona
Ona kufanana kwacho? Ini ndaida kuratidza kuenzanisa uku kuti ndikubvumidze kuti zvakanakisa kushandisa pm static ye PHP-FPM.
Kune iyo processor regulator parameter mutambo inobatsira kuwedzera zvakachengeteka kuita nekuti inenge inoenderana zvachose neserver's CPU muganho. Pamusoro peizvi, hongu, pane zvakare zvinhu zvakaita setembiricha, bhatiri kubhadharisa (mulaptop) uye zvimwe zvinokonzeresa zvekugara uchimhanyisa processor pa100%. Iko kuseta kwekuita kunovimbisa kukurumidza kuita processor. Verenga, semuenzaniso, nezve
Kushandisa pm static kuwana yakanyanya server performance
PHP-FPM sarudzo pm static zvakanyanya zvinoenderana neyemahara memory pane server. Kana chiyeuchidzo chakaderera, zviri nani kusarudza ondemand kana simba. Kune rimwe divi, kana uine ndangariro, unogona kudzivirira iyo PHP process maneja pamusoro nekuisa pm kunofambira mberi kusvika kune yakakura server capacity. Mune mamwe mazwi, kana zvinhu zvose zvakaverengwa zvakanaka, unofanira kutanga pm.static kusvika kuhuwandu hwehuwandu hwePHP-FPM maitiro anogona kuitwa, pasina kugadzira matambudziko ane low memory kana cache. Asi kwete yakanyanya kukwirira zvekuti inoremedza ma processor uye inounganidza boka rekushanda kwePP-FPM rakamirira kuurayiwa..
Mune iyo skrini iri pamusoro, sevha ine pm = static uye pm.max_children = 100, uye izvi zvinotora inenge 10 GB kubva kune inowanikwa 32. Chenjerera kune zvakasimbiswa makoramu, zvinhu zvose zvakajeka pano. Mumufananidzo uyu paive nevashandisi vangangosvika mazana maviri vanoshanda (kupfuura masekondi makumi matanhatu) muGoogle Analytics. Panhanho iyi, ingangoita makumi manomwe muzana ePP-FPM maitiro evana achiri asina basa. Izvi zvinoreva kuti PHP-FPM inogara ichiiswa kuhuwandu hwehuwandu hwesevha zviwanikwa zvisinei netraffic iripo. Maitiro asina basa anomirira kukwira kwemotokari uye anopindura ipapo ipapo. Haufanire kumirira kusvika pm ichagadzira maitiro emwana uye obva aamisa kana nguva yapera pm.process_idle_timeout. Ndakaisa kukosha kune zvakanyanya pm.max_requestsnekuti iyi iseva inoshanda isina ndangariro inodonha muPHP. Unogona kuisa pm.max_requests = 0 ne static kana iwe uine chivimbo chakazara mune iripo uye yeramangwana PHP zvinyorwa. Asi zviri nani kudzokorodza zvinyorwa nekufamba kwenguva. Seta nhamba yakakura yezvikumbiro, nekuti isu tinoda kudzivirira zvisina basa pm mitengo. Somuenzaniso, zvishoma pm.max_requests = 1000 - zvichienderana nehuwandu pm.max_children uye nhamba yezvikumbiro pasekondi.
Iyo skrini inoratidza murairo
top -bn1 | grep php-fpm
Nguva yekushandisa pm inodiwa uye ine simba
Kana ukashandisa pm simba, kukanganisa kwakadai kunoitika:
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
Edza kushandura parameter, iko kukanganisa hakuzoendi, senge
PM simba uye kunyanya ondemand inogona kuuya inobatsira kana uine akawanda PHP-FPM madziva. Semuenzaniso, iwe unogamuchira akawanda cPanel maakaundi kana akawanda mawebhusaiti mumadhamu akasiyana. Ndine sevha ine, toti, 100+ cpanel maakaunti uye anenge mazana maviri madomasi, uye pm.static kana kunyange dynamic yaisazondiponesa. Chaunoda pano chete ondemand, mushure mezvose, zvinopfuura zvikamu zviviri muzvitatu zvewebhusaiti zvinogashira zvishoma kana kusatombowana traffic, uye pamwe ondemand maitiro ese evana achadonha, izvo zvinotichengetera ndangariro zhinji! Neraki, ivo vanogadzira cPanel vakazviona izvi uye vakaisa kukosha kune default ondemand. Kare, apo default yaive simba, PHP-FPM yanga isina kukodzera kune akabatikana akagovaniswa maseva zvachose. Vazhinji vakashandisa suPHP, nokuti pm simba yakadya ndangariro kunyangwe nemadziva asina basa uye cPanel PHP-FPM maakaundi. Zvingangoitika, kana traffic yakanaka, hauzogamuchirwe pane sevha ine nhamba huru yePP-FPM madziva (yakagovaniswa yekutambira).
mhedziso
Kana iwe uri kushandisa PHP-FPM uye traffic yako inorema, maitiro maneja ondemand ΠΈ simba yePHP-FPM ichave yakaganhurirwa kubuditsa nekuda kweiyo yekuzvarwa pamusoro. Nzwisisa hurongwa hwako uye gadzirisa PHP-FPM maitiro zvichienderana nehupamhi hwesevha. First set pm.max_children zvichienderana nehuwandu hwekushandisa pm simba kana ondemand, uye wobva wawedzera kukosha uku kusvika padanho iro ndangariro uye processor ichashanda isina kuremerwa. Unozozviona nazvo pm static, sezvo uine zvese mundangariro, traffic spikes inokonzeresa mashoma eCPU spikes nekufamba kwenguva, uye sevha neCPU mutoro mavhareji anobuda. Avhareji PHP-FPM maitiro saizi anoenderana newebhu server uye inoda kugadziridzwa kwemanyorero, saka mamwe otomatiki maitiro maneja ari. simba ΠΈ ondemand - zvakanyanya kufarirwa. Ndinovimba kuti chinyorwa chakabatsira.
DUP Yakawedzerwa benchmark chati
Source: www.habr.com