Mofuta o sa lokisoang oa sengoloa sena o phatlalalitsoe qalong
Ke tla u tsamaisa ka bokhutšoane mokhoa o motle oa ho hlophisa PHP-FPM ho eketsa phallo, ho fokotsa latency, le ho sebelisa CPU le memori ka mokhoa o tsitsitseng. Ka ho sa feleng, mohala oa PM (motsamaisi oa tšebetso) ho PHP-FPM o phedisano, 'me haeba u se na mohopolo o lekaneng, joale ho molemo ho kenya se batloang haholo. Ha re bapise likhetho tse 2 tsa taolo tse ipapisitseng le litokomane tsa php.net 'me re bone hore na seo ke se ratang se fapana joang le bona. ee sa fetoleng boemo pm bakeng sa sephethephethe se phahameng:
pm = matla - palo ea lits'ebetso tsa bana e hlophisoa ka matla ho latela litaelo tse latelang: pm.max_children, pm.start_servers,pm.min_spare_servers, pm.max_spare_servers.
pm = litlhoko - lits'ebetso li entsoe ho latela tlhoko (ho fapana le pōpo e matla, ha pm.start_servers e qalisoa ha tšebeletso e qala).
pm = static - palo ea mekhoa ea bana e tsitsitsoe 'me e bontšoa ke parameter pm.max_children.
Bakeng sa lintlha, bona
Ho tšoana pakeng tsa mookameli oa ts'ebetso ea PHP-FPM le molaoli oa frequency oa CPU
Sena se kanna sa utloahala e le ntho e sa reng letho, empa ke tla hokahanya sena le sehlooho sa tlhophiso ea PHP-FPM. Ke mang ea so kang a bona ho fokotseha ha processor bonyane hang - ho laptop, mochini o sebetsang kapa seva e inehetseng. Na u hopola CPU frequency scaling? Likhetho tsena li fumaneha bakeng sa nix le Windows li ka ntlafatsa ts'ebetso ea sistimi le karabelo ka ho fetola processor throttle setting ho tloha se batloang haholo mabapi le tshebetso*. Lekhetlong lena, a re bapiseng litlhaloso 'me re shebe ho tšoana:
'musisi=tlhoko - sekhahla se matla sa maqhubu a processor ho latela mojaro oa hajoale. E qhomela ka potlako ho ea ho makhetlo a mangata ebe oa e fokotsa ha linako tsa ho se sebetse li ntse li eketseha.
'musisi=mohatelli= dynamic frequency scaling ho ipapisitsoe le mojaro oa hajoale. E eketsa le ho fokotsa maqhubu ka thelelo ho feta kamoo ho hlokahalang.
'Musisi = ts'ebetso - makhetlo a mangata kamehla.
Bakeng sa lintlha, bona
Le bona lintho tse tšoanang? Ke ne ke batla ho bontša papiso ena ho u kholisa hore ho molemo ho e sebelisa pm static bakeng sa PHP-FPM.
Bakeng sa parameter ea processor regulator tshebetso e thusa ho eketsa ts'ebetso ka mokhoa o sireletsehileng hobane e batla e ipapisitse le moeli oa CPU oa seva. Ho phaella ho sena, ho boetse ho na le lintlha tse kang mocheso, tefiso ea betri (ka laptop) le litla-morao tse ling tsa ho sebetsa processor kamehla ho 100%. Litlhophiso tsa ts'ebetso li netefatsa ts'ebetso ea processor e potlakileng haholo. Bala, ho etsa mohlala, ka
Ho sebelisa pm static ho fihlela ts'ebetso e phahameng ea seva
Khetho ea PHP-FPM pm static haholo-holo ho itšetlehile ka memori ea mahala ho seva. Haeba mohopolo o le tlase, ho molemo ho khetha se batloang haholo kapa phedisano. Ka lehlakoreng le leng, haeba u na le mohopolo, u ka qoba mookameli oa ts'ebetso ea PHP ka ho beha pm ee sa fetoleng boemo ho isa boemong bo phahameng ba seva. Ka mantsoe a mang, haeba ntho e 'ngoe le e' ngoe e baloa hantle, u lokela ho theha pm.static ho fihlela boholo ba lits'ebetso tsa PHP-FPM tse ka etsoang, ntle le ho baka mathata ka memori e tlase kapa cache. Empa ha e phahame hoo e sithabetsang li-processor mme e bokella bongata ba ts'ebetso ea PHP-FPM e emetseng ho phethoa..
Setšoantšong se ka holimo, seva e na le pm = static le pm.max_children = 100, 'me sena se nka hoo e ka bang 10 GB ho tsoa ho tse fumanehang 32. Ela hloko litšiea tse totobalitsoeng, ntho e 'ngoe le e' ngoe e hlakile mona. Setšoantšong sena ho ne ho e-na le basebelisi ba ka bang 200 ba sebetsang (ho feta metsotsoana e 60) ho Google Analytics. Boemong bona, hoo e ka bang 70% ea lits'ebetso tsa bana tsa PHP-FPM e ntse e sa sebetse. Sena se bolela hore PHP-FPM e lula e behiloe ho palo e kholo ea lisebelisoa tsa seva ho sa tsotelehe sephethephethe sa hajoale. Ts'ebetso e sa sebetseng e emela tlhoro ea sephethephethe ebe e arabela hanghang. Ha ua tlameha ho ema ho fihlela pm e tla theha lits'ebetso tsa bana ebe e li felisa ha nako e fela pm.process_idle_timeout. Ke behile boleng holimo haholo pm.max_requestshobane sena ke seva se sebetsang se se nang ho lutla memori ho PHP. U ka kenya pm.max_requests = 0 ka static haeba o ts'epa ka botlalo mangolong a PHP a teng le a nakong e tlang. Empa ho molemo ho khutlisetsa lingoloa ka nako. Beha palo e kholo ea likopo, hobane re batla ho qoba litšenyehelo tse sa hlokahaleng tsa pm. Ka mohlala, bonyane pm.max_requests = 1000 - ho itšetlehile ka bongata pm.max_children le palo ea likopo motsotsoana.
Setšoantšo sa skrini se bontša taelo
top -bn1 | grep php-fpm
Nako ea ho sebelisa pm odemand le dynamic
Haeba u sebelisa pm phedisano, liphoso tse kang tsena lia etsahala:
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
Leka ho fetola parameter, phoso e ke ke ea fela, joalo ka
PM phedisano haholo-holo se batloang haholo e ka ba molemo haeba u na le matamo a mangata a PHP-FPM. Mohlala, o amohela li-account tsa cPanel tse ngata kapa liwebosaete tse ngata matamong a fapaneng. Ke na le seva se nang le, re re, li-account tsa 100+ cpanel le libaka tse ka bang 200, 'me pm.static kapa esita le matla a ke ke a mpholosa. Seo u se hlokang mona ke se batloang haholo, ka mor'a tsohle, ho feta karolo ea bobeli ho tse tharo ea liwebsaete li amohela sephethephethe se fokolang kapa ha se na letho, 'me ka se batloang haholo lits'ebetso tsohle tsa bana li tla oa, tse tla re boloka mohopolo o mongata! Ka lehlohonolo, bahlahisi ba cPanel ba hlokometse sena mme ba beha boleng ho ba kamehla se batloang haholo. Nakong e fetileng, ha kamehla e ne e le phedisano, PHP-FPM e ne e sa tšoanelehe bakeng sa li-server tse arolelanoang ho hang. Ba bangata ba sebelisitse suPHP, hobane pm phedisano memori e senyehileng leha e na le matamo a sa sebetseng le li-account tsa cPanel PHP-FPM. Mohlomong, haeba sephethephethe se le setle, u ke ke ua amoheloa ho seva se nang le palo e kholo ea matamo a PHP-FPM (ho arolelana ho arolelanoa).
fihlela qeto e
Haeba u sebelisa PHP-FPM mme sephethephethe sa hau se boima, balaoli ba ts'ebetso se batloang haholo и phedisano bakeng sa PHP-FPM e tla be e lekanyelitsoe ho feta ka lebaka la bokaholimo ba bona ba tlhaho. Utloisisa sistimi ea hau mme u lokise lits'ebetso tsa PHP-FPM ho latela boholo ba seva. Sete ea pele pm.max_children ho latela boholo ba tšebeliso ea pm phedisano kapa se batloang haholo, ebe o eketsa boleng bona ho isa boemong boo memori le processor li tla sebetsa ntle le ho imeloa. O tla hlokomela seo ka pm static, kaha u na le ntho e 'ngoe le e' ngoe mohopolong, ho phahama ha sephethephethe ho tla baka li-spikes tse fokolang tsa CPU ha nako e ntse e ea, 'me li-server le li-CPU li tla theoha. Ka karolelano boholo ba ts'ebetso ea PHP-FPM bo itšetlehile ka seva sa marang-rang 'me bo hloka tlhophiso ea matsoho, kahoo batsamaisi ba ts'ebetso ba iketselitseng ba phedisano и se batloang haholo - e tsebahalang haholo. Ke tšepa hore sehlooho seo se ne se le molemo.
PUSELETSO E kentse chate ea benchmark
Source: www.habr.com