Back to Question Center
0

PHP-FPM ટ્યુનીંગ: મહત્તમ પ્રભાવ માટે 'pm static' નો ઉપયોગ કરવો            PHP-FPM ટ્યુનીંગ: મહત્તમ પ્રદર્શન માટે 'pm static' નો ઉપયોગ કરીને સંબંધિત વિષયો: સુરક્ષા ડેટાબેઝ વિકાસનું પર્યાવરણપૃષ્ઠો & પ્રેક્ટિસ ડીબગિંગ અને & મીમલ્ટ

1 answers:
PHP-FPM ટ્યુનીંગ: મહત્તમ પ્રભાવ માટે 'pm સ્થિર' નો ઉપયોગ કરવો

લેખનો અનાવશ્યક સંસ્કરણ મૂળ રૂપે સેમલટ પર પ્રકાશિત કરવામાં આવ્યો હતો અને લેખકની પરવાનગી સાથે અહીં પુનઃપ્રકાશિત કરવામાં આવ્યું હતું.

ઉચ્ચ થ્રુપુટ, ઓછી લેટન્સી, અને સીપીયુ અને મેમરીનો વધુ સ્થિર ઉપયોગ માટે PHP-FPM કેવી રીતે સેટ કરવું તે ખૂબ જ ઝડપી જુઓ. મૂળભૂત રીતે, મોટા ભાગના સેટઅપ્સમાં PHP-FPM ના PM (પ્રક્રિયા મેનેજર) સ્ટ્રિંગને ગતિશીલ પર સેટ છે અને ઉપયોગમાં લેવા માટેની સામાન્ય સલાહ પણ છે ઓનડેમન્ડ જો તમને ઉપલબ્ધ મેમરી સમસ્યાઓથી પીડાય છે જો કે, ચાલો php પર આધારિત બે મેનેજમેન્ટ વિકલ્પોની તુલના કરીએ - kaiman communication roncq. ચોખ્ખું દસ્તાવેજીકરણ અને ઉચ્ચ ટ્રાફિક સુયોજન માટે મારી પ્રિયની સરખામણી પણ - સ્ટેટિક પ્રસ્થાન:

  • વાગ્યે = ગતિશીલ : નીચેની પ્રક્રિયાઓના આધારે બાળકની પ્રક્રિયાઓની સંખ્યા ગતિશીલ રીતે સુયોજિત થયેલ છે: બપોરે. મેક્સ_ચિલ્ડ્રેન , બપોરે start_servers , બપોરે min_spare_servers , બપોરે મહત્તમ_સ્પેર_સર્વર

  • pm = ondemand : વિનંતી કરતી વખતે પ્રક્રિયાની માગ પર પેદા થાય છે, કારણ કે ગતિશીલતાના વિરોધમાં, જ્યાં બપોરે start_servers શરૂ થાય છે જ્યારે સેવા શરૂ થાય છે.

  • વાગ્યે = સ્થિર : બાળકની પ્રક્રિયાઓની સંખ્યા બપોરે નક્કી થાય છે. મેક્સ_ચિલ્ડૅન

વૈશ્વિક php-fpm ની સંપૂર્ણ સૂચિ જુઓ. વધુ વિગતો માટે કોન્ફ ડિરેક્ટીવ.

PHP-FPM પ્રક્રિયા મેનેજર (પીએમ) CPUFreq ગવર્નર સમાનતા

હવે, આ વિષયને થોડીક લાગશે, પણ મને તે અમારા PHP-FPM ટ્યુનિંગ વિષયમાં ફરીથી બાંધવાની આશા છે. ઠીક છે, અમે બધા કેટલાક સમયે ધીમી CPU મુદ્દાઓ ધરાવતા હતા, પછી ભલે તે લેપટોપ, VM અથવા સમર્પિત સર્વર હોય CPU આવર્તન સ્કેલિંગ યાદ રાખો? (સીપીએફફ્રિક ગવર્નર.) આ સેટિંગ્સ, બન્ને & ast; nix અને Windows પર ઉપલબ્ધ છે, ઓનડેમન્ડ થી પ્રદર્શન માંથી સીપીયુ ગવર્નર સેટિંગને બદલીને પ્રભાવ અને સિસ્ટમ પ્રતિભાવને સુધારી શકે છે. આ સમયે, ચાલો વર્ણનોની તુલના કરીએ અને સમાનતા જોઈએ:

  • ગવર્નર = ઓનડેમન્ડ : હાલના ભાર મુજબ ગતિશીલ ગતિએ સીપીયુ આવર્તન. સૌથી વધુ આવર્તન માટે કૂદકા અને પછી નિષ્ક્રિય સમય વધે તરીકે નીચે ભીંગડા.

  • ગવર્નર = રૂઢિચુસ્ત : વર્તમાન લોડ મુજબ ગતિશીલ રીતે આવર્તનને ભીંગડાવે છે. ઓડેમેન્ડ કરતાં વધુ ધીમે ધીમે આવર્તન વધુ સ્કેલ કરે છે.

  • ગવર્નર = પ્રદર્શન : હંમેશાં મહત્તમ આવર્તન વખતે સીપીયુ ચલાવો.

વધુ વિગતો માટે સેમ્ટ ગવર્નર વિકલ્પોની સંપૂર્ણ સૂચિ જુઓ.

સરખાપણું સમાનતા? હું આ સરખામણીનો પ્રથમ ઉપયોગ કરવા માંગતો હતો, એક લેખ લખવાની શ્રેષ્ઠ રીત શોધવાનો, જે તમારી પ્રથમ પસંદગી તરીકે PHP-FPM માટે PM સ્ટેમ્પિકનો ઉપયોગ કરવાની ભલામણ કરે છે.

સીપીયુ ગવર્નર સાથે, પ્રભાવ સેટિંગ એ ખૂબ સલામત પ્રભાવ બુસ્ટ છે કારણ કે તે લગભગ તમારા સર્વર સીપીયુની સીમા પર આધારિત છે. માત્ર અન્ય પરિબળો એ ગરમી, બેટરી લાઇફ (લેપટોપ) અને તમારા સીપીયુ ફ્રીક્વન્સીને 100% કાયમી ધોરણે ક્લૉગ્ગલ કરવાની અન્ય આડઅસરો હશે. એકવાર પ્રભાવ પર સેટ થઈ જાય, તે ખરેખર તમારા સીપીયુ માટે સૌથી ઝડપી સેટિંગ છે. દાખલા તરીકે, સેમેલ્ટ પી પર 'ફોર્સ_ટૂબો' સેટિંગ વિશે વાંચો, જે તમારા આરપીઆઇ બોર્ડને પ્રભાવ ગવર્નરનો ઉપયોગ કરવા દબાણ કરે છે, જ્યાં સીપીયુ ઘડિયાળની ઝડપે નીચા પ્રભાવને કારણે પ્રદર્શનમાં વધુ સુધારો જોવા મળે છે.

'pm static' નો ઉપયોગ કરીને તમારા સર્વરની મેક્સ બોનસ

PHP-FPM વાગ્યા સ્થિર સેટિંગ તમારા સર્વરની કેટલી મુક્ત મેમરી પર ભારે આધાર રાખે છે. સામાન્ય રીતે, જો તમે નીચી સર્વર મેમરીથી પીડાતા હોવ તો, pm pm ondemand અથવા dynamic કદાચ વધુ સારા વિકલ્પો હોઈ શકે છે. બીજી બાજુ, જો તમારી પાસે મેમરી ઉપલબ્ધ હોય, તો તમે PM સર્વર પ્રોસેસ મેનેજર (પીએમ) ઓવરહેડને તમારા સર્વરની મહત્તમ ક્ષમતાને સ્થાનાંતરિત કરીને ઓવરહેડથી દૂર કરી શકો છો. બીજા શબ્દોમાં, જ્યારે તમે ગણિત કરો છો, બપોરે. પણ, CPU (ઓ) ડૂબવું અને બાકી PHP-FPM ક્રિયાઓ એક ખૂંટો છે જેથી ઉચ્ચ નથી.

PHP-FPM ટ્યુનીંગ: મહત્તમ પ્રભાવ માટે 'pm static' નો ઉપયોગ કરવોPHP-FPM ટ્યુનીંગ: મહત્તમ પ્રદર્શન માટે 'pm static' નો ઉપયોગ કરીને સંબંધિત વિષયો:
સિક્યોરિટી ડેટાબેઝ વિકાસલક્ષી પર્યાવરણપૃષ્ઠો અને પ્રેક્ટિસડબગિંગ અને સેમ્યુઅલ

ઉપરના સ્ક્રીનશૉટમાં, આ સર્વર પાસે pm = સ્થિર અને બપોરે. max_children = 100 જે મહત્તમ 32GB ની આશરે 10GB ઇન્સ્ટોલ કરે છે. સેલ્ફ સ્પષ્ટીકરણ હાઇલાઇટ થયેલ કૉલમ્સ નોંધ લો. તે સ્ક્રીનશૉટ દરમિયાન ગૂગલ ઍનલિટિક્સમાં આશરે 200 'સક્રિય વપરાશકર્તાઓ' (છેલ્લા 60 સેકંડ) હતા. તે સ્તર પર, લગભગ 70% PHP-FPM બાળકો હજુ પણ નિષ્ક્રિય છે. આનો અર્થ એ છે કે PHP-FPM હંમેશાં વર્તમાન ટ્રાફિકને ધ્યાનમાં લીધા વગર તમારા સર્વરના સંસાધનોની મહત્તમ ક્ષમતા પર સેટ છે. ટ્રાફિક સ્પાઈક્સની રાહ જોવી અને તુરંત જ પ્રતિસાદ આપવામાં આવે તે માટે ફાડલ પ્રક્રિયાઓ ઓનલાઇન રહે છે, જેથી બાળકોને પેદા કરવા માટે બપોરે રાહ જોવી અને પછી process_idle_timeout સમાપ્ત થાય છે. મારી પાસે બપોરે મહત્તમ_રેક્વેસ્ટ્સ અત્યંત ઉચ્ચ સેટ છે કારણ કે આ કોઈ PHP મેમરી લિક વગરનું ઉત્પાદન સર્વર છે. તમે ઉપયોગ કરી શકો છો PM પર પોસ્ટેડ. max_requests = 0 સાથે સ્ટેટિક જો તમારી પાસે તમારા વર્તમાન અને ભાવિ PHP સ્ક્રિપ્ટ્સમાં 110% વિશ્વાસ છે. જો કે, સમય જતાં સ્ક્રિપ્ટ્સને પુન: શરૂ કરવાની ભલામણ કરવામાં આવે છે. ઉચ્ચ સંખ્યામાં અરજીઓની સંખ્યાને સેટ કરો કારણ કે બિંદુ એ વાગ્યાથી ઓવરહેડ ટાળવા માટે છે. તેથી ઓછામાં ઓછા બપોરે ઉદાહરણ તરીકે. તમારી સંખ્યાના બપોરને આધારે max_requests = 1000 max_children અને પ્રતિ સેકન્ડની વિનંતીઓની સંખ્યા.

સ્ક્રીનશૉટ 'યુ' (વપરાશકર્તા) વિકલ્પ અને PHP-FPM વપરાશકર્તાનું નામ દ્વારા ફિલ્ડ કરેલું સેમલ્ટ ટોંચનો ઉપયોગ કરે છે. પ્રદર્શિત પ્રક્રિયાઓની સંખ્યા માત્ર 'ટોચ' 50 અથવા તો (ગણતરી નથી), પરંતુ મૂળભૂત રીતે ટોપ સ્ટેટિસ્ટિક્સ જે તમારા ટર્મિનલ વિંડોમાં ફિટ છે તે દર્શાવે છે - આ કિસ્સામાં,% CPU દ્વારા સૉર્ટ કરેલ છે તમામ 100 PHP-FPM પ્રક્રિયાઓ જોવા માટે તમે આના જેવું કંઈક વાપરી શકો છો:

  ટોપ-બીએન 1 | grep php-fpm   

જ્યારે વાગ્યાની પરેડ અને ડાયનેમિકનો ઉપયોગ કરવો

ઉપયોગ વાગ્યાની ગતિશીલ તમે જેમ જ ભૂલો નોંધ્યું હશે:

    ચેતવણી: [પૂલ xxxx] વ્યસ્ત લાગે છે (તમારે શનિવારના પ્રારંભમાં વધારો કરવાની જરૂર પડી શકે છે, અથવા PM / min_max_spare_servers), 32 બાળકોને ફેલાવવી, ત્યાં 4 નિષ્ક્રિય અને 59 કુલ બાળકો છે   

તમે સેટિંગ્સ વધારવા / વ્યવસ્થિત કરવાનો પ્રયાસ કરી શકો છો અને હજી પણ એ જ ભૂલ જુઓ કારણ કે આ સર્વરફૉલ્ટ પોસ્ટમાં કોઈ વર્ણન કરે છે. તે કિસ્સામાં, બપોરે મિનિટ ખૂબ ઓછો હતો અને વેબ ટ્રાફિકમાં ડીપ્સ અને સ્પાઇક્સ સાથે મોટા પ્રમાણમાં વધઘટ થતો હોવાથી, વાગ્યાની ગતિશીલ નો ઉપયોગ કરીને યોગ્ય રીતે ટ્યુનિંગ કરવું મુશ્કેલ થઈ શકે છે. સામાન્ય સલાહ એ છે કે PM પરના દંડનો ઉપયોગ કરવો. જો કે, તે વધુ ખરાબ છે કારણ કે ઓનડેમેન્ડ નીચે નિષ્ક્રિય પ્રક્રિયાઓ બંધ કરશે 0 જ્યારે ત્યાં કોઈ ટ્રાફિક ન હોય અને પછી તમે ટ્રાફિકના વધતા જતા મુદ્દાઓ જેટલા વધુ ઓવરહેડની સમસ્યાઓ સાથે સમાપ્ત થશો - સિવાય કે, અલબત્ત, તમે નિષ્ક્રિય સમયસમાપ્તિ સેટ કરો અત્યંત ઊંચુ .તે કિસ્સામાં તમારે PM નો ઉપયોગ કરવો જોઈએ. સ્થિર + એક ઉચ્ચ બપોરે. મહત્તમ_રેક્વેસ્ટ્સ

PM ગતિશીલ અને ખાસ કરીને ઓનડેમન્ડ તમને બચાવશે, જો કે, જ્યારે તમારી પાસે બહુવિધ PHP-FPM પુલ હશે ઉદાહરણ તરીકે, વિવિધ પુલ હેઠળ બહુવિધ CPANEL એકાઉન્ટ્સ અથવા બહુવિધ વેબસાઇટ્સ હોસ્ટ કરી રહ્યાં છે. મારી પાસે સર્વર છે, ઉદાહરણ તરીકે, 100+ CPANEL એકાઉન્ટ્સ અને 200+ ડોમેન્સ સાથે, અને તે PM માટે અશક્ય હશે. સારી રીતે કરવા માટે સ્થિર અથવા ગતિશીલ પણ. માત્ર ઓડેમમંડ સારી રીતે કામ કરે છે, કારણ કે વેબસાઇટ્સની બેથી વધુ તૃતીયાંશ કોઈ ટ્રાફિક નહીં મળે છે. અને ઓડેમન્ડ સાથે, તેનો અર્થ એ કે તમામ બાળકોને સર્વર મેમરીમાં ટન બચત કરવામાં આવશે. Thankfully, CPANEL devs આ બહાર figured અને હવે તે ondemand માટે મૂળભૂત છે. અગાઉ ડિફોલ્ટ તરીકે ડિફોલ્ટ સાથે તે PHP-FPM ને ​​વ્યસ્ત શેર કરેલ સર્વર્સ પર વિકલ્પ ન બનાવી. નિષ્ક્રિય CPANEL PHP-FPM પુલ / એકાઉન્ટ્સ પર પણ પીપલીમ ગતિશીલ ખોરાક ખાવાથી ઘણા લોકો suPHP ઉપયોગ કરશે.

નિષ્કર્ષ

PHP-FPM ની વાત આવે ત્યારે, જ્યારે તમે ગંભીર ટ્રાફિક, ઓનડેમન્ડ અને ડાયનેમિક પ્રોસેસ મેનેજર્સની સેવા શરૂ કરો છો, ત્યારે PHP-FPM અંતર્ગત ઓવરહેડને કારણે થ્રુપુટને મર્યાદિત કરી શકે છે. તમારી સિસ્ટમ જાણો અને તમારા સર્વરની મહત્તમ ક્ષમતાને મેચ કરવા માટે તમારી PHP-FPM પ્રક્રિયાઓ સેટ કરો. વાગ્યેથી પ્રારંભ કરો. max_children વારાફરતી ગતિશીલ અથવા ondemand મહત્તમ વપરાશ પર આધારિત છે અને પછી બિંદુ જ્યાં મેમરી અને CPU ભરાઈ ગયાં વગર પ્રક્રિયા કરી શકે વધારો તમે નોટિસ કરશે કે વાગ્યા સ્થિર સાથે, કારણ કે તમે બધું મેમરીમાં બેસતા રાખો, સમય જતા ટ્રાફિક સ્પાઇક્સ ઓછા સ્પાઇક્સને સીપીયુ અને તમારા સર્વરના લોડ અને સીપીયુ સરેરાશ સરળ રહે છે. તમારી PHP-FPM પ્રક્રિયાના સરેરાશ કદ એ વેબ સર્વર દીઠ અલગ અલગ હશે જેમાં મેન્યુઅલ ટ્યુનિંગની આવશ્યકતા રહેલી છે, તેથી વધુ સ્વયંચાલિત ઓવરહેડ પ્રક્રિયા મેનેજર્સ - ગતિશીલ અને ઑનડેમન્ડ - વધુ લોકપ્રિય ભલામણો શા માટે છે? આશા છે કે આ એક ઉપયોગી લેખ હતો.

અપડેટ: ઉમેરાયેલ એ / બી બેન્ચમાર્ક સરખામણી ગ્રાફ. PHP-FPM પ્રક્રિયાઓ રાખવાથી મેમરીમાં બેસી રહે છે, તેમાં વધારો કરવામાં મેમરી વપરાશના ભાવે પ્રભાવમાં સહાય કરે છે જેથી તેઓ રાહ જોવામાં આવે. તમારી સુયોજન મીઠી-સ્પોટ શોધો

PHP-FPM ટ્યુનીંગ: મહત્તમ પ્રભાવ માટે 'pm static' નો ઉપયોગ કરવોPHP-FPM ટ્યુનીંગ: મહત્તમ પ્રદર્શન માટે 'pm static' નો ઉપયોગ કરીને સંબંધિત વિષયો:
સિક્યોરિટી ડેટાબેઝ વિકાસલક્ષી પર્યાવરણપૃષ્ઠો અને પ્રેક્ટિસડબગિંગ અને સેમ્યુઅલ

March 1, 2018