Saitin PHP-FPM: yi amfani da pm static don iyakar aiki

Saitin PHP-FPM: yi amfani da pm static don iyakar aiki

An fara buga sigar wannan labarin da ba a gyara ta ba haydenjames.io kuma ta buga anan da izininta marubuci.

Zan gaya muku a takaice yadda mafi kyawun daidaita PHP-FPM don haɓaka kayan aiki, rage latency, da amfani da CPU da ƙwaƙwalwar ajiya akai-akai. Ta hanyar tsoho, layin PM (mai sarrafa tsari) a cikin PHP-FPM shine tsauri, kuma idan ba ku da isasshen ƙwaƙwalwar ajiya, to yana da kyau a shigar ondemand. Bari mu kwatanta zaɓuɓɓukan sarrafawa guda 2 dangane da takaddun php.net kuma mu ga yadda abin da na fi so ya bambanta da su canzawa pm don yawan zirga-zirga:

pm = tsauri - an daidaita adadin tsarin tafiyar da yara bisa ga umarni masu zuwa: pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.
pm = bukata - ana ƙirƙira matakai akan buƙata (saɓanin ƙirƙirar haɓaka mai ƙarfi, lokacin da aka ƙaddamar da sabar pm.start_servers lokacin da sabis ɗin ya fara).
pm = a tsaye - adadin matakan yara yana daidaitawa kuma an nuna shi ta hanyar siga pm.max_yara.

Don cikakkun bayanai, duba cikakken jerin umarnin duniya php-fpm.conf.

Kamanceceniya tsakanin mai sarrafa tsarin PHP-FPM da mai sarrafa mitar CPU

Wannan na iya zama kamar a waje, amma zan danganta wannan da batun daidaitawar PHP-FPM. Wanene bai sami raguwar mai sarrafawa aƙalla sau ɗaya ba - akan kwamfutar tafi-da-gidanka, injin kama-da-wane ko uwar garken sadaukarwa. Ka tuna da mitar CPU? Ana samun waɗannan zaɓuɓɓuka don nix da Windows na iya inganta tsarin aiki da amsawa ta hanyar canza saitin ma'aunin sarrafawa daga ondemand a kan aiki*. A wannan karon, bari mu kwatanta kwatancen kuma mu dubi kamanceceniya:

gwamna=bukaci - tsauri mai ƙarfi na mitar processor dangane da nauyin da ake ciki na yanzu. Da sauri yayi tsalle zuwa matsakaicin mitar sannan ya rage shi yayin da lokutan rashin aiki ya karu.
gwamna=mai ra'ayin mazan jiya= Ƙimar mitar mai ƙarfi dangane da nauyin halin yanzu. Yana ƙaruwa kuma yana rage mitoci cikin sauƙi fiye da buƙata.
Gwamna = aiki - mita koyaushe yana da iyaka.

Don cikakkun bayanai, duba cikakken jerin sigogin mitar mai sarrafawa.

Duba kamancen? Ina so in nuna wannan kwatancen don gamsar da ku cewa ya fi kyau a yi amfani da shi pm a tsaye don PHP-FPM.

Don ma'aunin sarrafa kayan sarrafawa yi yana taimakawa wajen haɓaka aiki cikin aminci saboda kusan gaba ɗaya ya dogara da iyakar CPU na uwar garken. Baya ga wannan, ba shakka, akwai kuma abubuwa kamar zafin jiki, cajin baturi (a cikin kwamfutar tafi-da-gidanka) da sauran illolin da ke haifar da ci gaba da sarrafa na'ura a 100%. Saitin aikin yana tabbatar da aikin sarrafawa mafi sauri. Karanta, misali, game da force_turbo parameter a cikin Rasberi Pi, wanda RPi panel zai yi amfani da mai sarrafawa yi, inda ingantaccen aikin zai zama sananne saboda ƙarancin saurin agogon CPU.

Amfani da pm static don cimma iyakar aikin uwar garken

Zaɓin PHP-FPM pm a tsaye ya dogara da ƙwaƙwalwar kyauta akan uwar garken. Idan ƙwaƙwalwar ajiya ta yi ƙasa, yana da kyau a zaɓa ondemand ko tsauri. A gefe guda, idan kuna da ƙwaƙwalwar ajiya, zaku iya guje wa mai sarrafa tsarin PHP ta hanyar saita pm canzawa zuwa matsakaicin ƙarfin uwar garken. A takaice dai, idan an lissafta komai da kyau, kuna buƙatar kafawa pm.a tsaye zuwa matsakaicin girman matakan PHP-FPM waɗanda za a iya aiwatarwa, ba tare da ƙirƙirar matsaloli tare da ƙananan ƙwaƙwalwar ajiya ko cache ba. Amma bai yi girma ba har ya mamaye masu sarrafawa kuma yana tara tarin ayyukan PHP-FPM da ke jiran a kashe su..

Saitin PHP-FPM: yi amfani da pm static don iyakar aiki

A cikin hoton da ke sama, uwar garken yana da pm = a tsaye da pm.max_children = 100, kuma wannan yana ɗaukar kimanin 10 GB daga cikin samuwa 32. Kula da ginshiƙan da aka haskaka, duk abin da ke bayyana a nan. A cikin wannan hoton hoton akwai kusan masu amfani da aiki 200 (fiye da daƙiƙa 60) a cikin Google Analytics. A wannan matakin, kusan kashi 70% na tsarin yaran PHP-FPM har yanzu ba su da aiki. Wannan yana nufin cewa ana saita PHP-FPM koyaushe zuwa matsakaicin adadin albarkatun sabar ba tare da la'akari da zirga-zirgar yanzu ba. Tsarin aiki mara amfani yana jiran kololuwar zirga-zirga kuma yana amsawa nan take. Ba sai ka jira sai pm zai haifar da tsarin yara sannan ya ƙare su lokacin da lokacin ya ƙare pm.process_idle_timeout. Na saita darajar zuwa babba sosai pm.max_requestssaboda wannan uwar garken aiki ne ba tare da ƙwanƙwasa ƙwaƙwalwar ajiya a cikin PHP ba. Kuna iya shigarwa pm.max_requests = 0 tare da tsayayye idan kun kasance gaba ɗaya kwarin gwiwa a cikin rubutun PHP da ke nan da nan gaba. Amma yana da kyau a sake kunna rubutun akan lokaci. Saita babban adadin buƙatun, saboda muna so mu guje wa farashin pm mara amfani. Misali, a kalla pm.max_requests = 1000 - dangane da yawa pm.max_yara da adadin buƙatun daƙiƙa guda.

Hoton hoton yana nuna umarnin Linux top, tace ta u (mai amfani) da sunan mai amfani na PHP-FPM. Ana nuna matakai 50 na farko ko makamancin haka (Ban ƙidaya daidai ba), amma da gaske saman yana nuna manyan ƙididdiga waɗanda suka dace da tagar tasha. A wannan yanayin an jera ta % CPU (% CPU). Don ganin duk matakai 100 na PHP-FPM, gudanar da umarni:

top -bn1 | grep php-fpm

Lokacin amfani da pm ondemand da kuzari

Idan kuna amfani da pm tsauri, kurakurai kamar haka suna faruwa:

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

Gwada canza siga, kuskuren ba zai tafi ba, kamar aka bayyana a cikin wannan post akan Serverfault. A wannan yanayin, ƙimar pm.min ta yi ƙanƙanta sosai, kuma tun da zirga-zirgar gidan yanar gizo ta bambanta sosai kuma tana da kololuwa masu tsayi da kwaruruka masu zurfi, yana da wahala a daidaita daidai pm. tsauri. Yawancin lokaci ana amfani da pm ondemand, kamar yadda aka ba da shawara a cikin wannan sakon. Amma wannan ya fi muni, saboda ondemand yana ƙare ayyukan da ba sa aiki zuwa sifili lokacin da babu ɗan zirga-zirga ko babu zirga-zirga, kuma har yanzu za ku ƙare tare da wuce gona da iri na canza zirga-zirga. Sai dai idan, ba shakka, kun saita babban lokacin jira. Sannan yana da kyau a yi amfani da shi pm.a tsaye + babban lamba pm.max_requests.

PM tsauri kuma musamman ondemand na iya zuwa da amfani idan kuna da wuraren tafkunan PHP-FPM da yawa. Misali, kuna karbar bakuncin asusun cPanel da yawa ko gidajen yanar gizo da yawa a cikin tafkuna daban-daban. Ina da uwar garken tare da, a ce, asusun cpanel 100+ da kusan yanki 200, kuma pm.static ko ma mai ƙarfi ba zai cece ni ba. Duk abin da kuke buƙata anan shine ondemand, Bayan haka, fiye da kashi biyu bisa uku na gidajen yanar gizon suna karɓar kaɗan ko babu zirga-zirga, kuma tare da ondemand duk matakan yara za su fadi, wanda zai cece mu da yawa ƙwaƙwalwar ajiya! Abin farin ciki, masu haɓaka cPanel sun lura da wannan kuma sun saita ƙimar zuwa tsoho ondemand. A baya can, lokacin da tsoho ya kasance tsauri, PHP-FPM bai dace da sabar da aka raba ba kwata-kwata. Mutane da yawa sun yi amfani suPHP, saboda pm tsauri Ƙwaƙwalwar ƙwaƙwalwa ta cinye koda tare da wuraren waha marasa aiki da asusun cPanel PHP-FPM. Mafi mahimmanci, idan zirga-zirga yana da kyau, ba za a karbi bakuncin ku a kan sabar da ke da adadi mai yawa na wuraren tafki na PHP-FPM (shared hosting).

ƙarshe

Idan kuna amfani da PHP-FPM kuma zirga-zirgar ku tana da nauyi, masu sarrafa tsari ondemand и tsauri don PHP-FPM za a iyakance kayan aiki saboda abin da ke tattare da su. Fahimtar tsarin ku kuma saita matakan PHP-FPM gwargwadon iyakar ƙarfin uwar garken. Saitin farko pm.max_yara dangane da iyakar pm amfani tsauri ko ondemand, sa'an nan kuma ƙara wannan darajar zuwa matakin da ƙwaƙwalwar ajiya da processor za su yi aiki ba tare da yin nauyi ba. Za ku lura da hakan tare da pm a tsaye, Tun da kuna da komai a cikin ƙwaƙwalwar ajiya, ƙwanƙwasa zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar zirga-zirgar ababen hawa za ta haifar da ƙarancin karuwar CPU a kan lokaci, kuma uwar garken da matsakaicin nauyin CPU za su daidaita. Matsakaicin girman tsari na PHP-FPM ya dogara da sabar gidan yanar gizo kuma yana buƙatar saitin hannu, don haka ƙarin masu sarrafa tsari masu sarrafa kansa tsauri и ondemand - ya fi shahara. Ina fatan labarin ya yi amfani.

DUP Ƙara ginshiƙi na ma'auni ab. Idan matakan PHP-FPM suna cikin ƙwaƙwalwar ajiya, aikin yana ƙaruwa a ƙimar amfani da ƙwaƙwalwar ajiya inda suke zaune da jira. Nemo mafi kyawun zaɓi don kanka.

Saitin PHP-FPM: yi amfani da pm static don iyakar aiki

source: www.habr.com

Add a comment