PHP-FPM рд╕реЗрдЯрдЕрдк: рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдХрд╛рдордЧрд┐рд░реАрд╕рд╛рдареА pm рд╕реНрдЯреЕрдЯрд┐рдХ рд╡рд╛рдкрд░рд╛

PHP-FPM рд╕реЗрдЯрдЕрдк: рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдХрд╛рдордЧрд┐рд░реАрд╕рд╛рдареА pm рд╕реНрдЯреЕрдЯрд┐рдХ рд╡рд╛рдкрд░рд╛

рдпрд╛ рд▓реЗрдЦрд╛рдЪреА рдЕрд╕рдВрдкрд╛рджрд┐рдд рдЖрд╡реГрддреНрддреА рдореВрд│рддрдГ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЭрд╛рд▓реА рд╣реЛрддреА haydenjames.io рдЖрдгрд┐ рддрд┐рдЪреНрдпрд╛ рдкрд░рд╡рд╛рдирдЧреАрдиреЗ рдпреЗрдереЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реЗ рд▓реЗрдЦрдХ.

рдереНрд░реЛрдкреБрдЯ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА, рд▓реЗрдЯрдиреНрд╕реА рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ CPU рдЖрдгрд┐ рдореЗрдорд░реА рдЕрдзрд┐рдХ рд╕реБрд╕рдВрдЧрддрдкрдгреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА PHP-FPM рдХрд╕реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рдпрдЪреЗ рддреЗ рдореА рдереЛрдбрдХреНрдпрд╛рдд рд╕рд╛рдВрдЧреЗрди. рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, PHP-FPM рдордзреАрд▓ PM (рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ) рд▓рд╛рдЗрди рдЖрд╣реЗ рдбрд╛рдпрдиреЕрдорд┐рдХ, рдЖрдгрд┐ рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ рдкреБрд░реЗрд╢реА рдореЗрдорд░реА рдирд╕рд▓реНрдпрд╛рд╕, рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ рдорд╛рдЧрдгреА. рдЪрд▓рд╛ php.net рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдгрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд 2 рдирд┐рдпрдВрддреНрд░рдг рдкрд░реНрдпрд╛рдпрд╛рдВрдЪреА рддреБрд▓рдирд╛ рдХрд░реВ рдЖрдгрд┐ рдорд╛рдЭреЗ рдЖрд╡рдбрддреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдХрд╕реЗ рд╡реЗрдЧрд│реЗ рдЖрд╣реЗрдд рддреЗ рдкрд╛рд╣реВ. рд╕реНрдерд┐рд░ рд╣рд╛рдп рд╡реНрд╣реЙрд▓реНрдпреВрдо рд░рд╣рджрд╛рд░реАрд╕рд╛рдареА pm:

pm = рдбрд╛рдпрдиреЕрдорд┐рдХ тАФ рдЦрд╛рд▓реАрд▓ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдЪреНрдпрд╛ рдЖрдзрд╛рд░реЗ рдЪрд╛рдЗрд▓реНрдб рдкреНрд░реЛрд╕реЗрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛ рдбрд╛рдпрдиреЕрдорд┐рдХрд▓реА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реА рдЖрд╣реЗ: pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.
pm = рдорд╛рдЧрдгреА - рдорд╛рдЧрдгреАрдиреБрд╕рд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд (рдбрд╛рдпрдиреЕрдорд┐рдХ рдирд┐рд░реНрдорд┐рддреАрдЪреНрдпрд╛ рд╡рд┐рд░реВрджреНрдз, рдЬреЗрд╡реНрд╣рд╛ рд╕реЗрд╡рд╛ рд╕реБрд░реВ рд╣реЛрддреЗ рддреЗрд╡реНрд╣рд╛ pm.start_servers рд▓рд╛рдБрдЪ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд).
pm = рд╕реНрдерд┐рд░ тАФ рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рдкреЕрд░рд╛рдореАрдЯрд░рдиреЗ рджрд░реНрд╢рд╡рд┐рд▓реА рдЖрд╣реЗ pm.max_children.

рддрдкрд╢реАрд▓рд╛рдВрд╕рд╛рдареА, рдкрд╣рд╛ рдЬрд╛рдЧрддрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдЪреА рд╕рдВрдкреВрд░реНрдг рдпрд╛рджреА php-fpm.conf.

PHP-FPM рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЖрдгрд┐ CPU рд╡рд╛рд░рдВрд╡рд╛рд░рддрд╛ рдирд┐рдпрдВрддреНрд░рдХ рдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рд╕рдорд╛рдирддрд╛

рд╣реЗ рдСрдлрдЯреЙрдкрд┐рдХ рд╡рд╛рдЯреВ рд╢рдХрддреЗ, рдкрд░рдВрддреБ рдореА рд╣реЗ PHP-FPM рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдЪреНрдпрд╛ рд╡рд┐рд╖рдпрд╛рд╢реА рдЬреЛрдбрдгрд╛рд░ рдЖрд╣реЗ. рд▓реЕрдкрдЯреЙрдк, рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рдХрд┐рдВрд╡рд╛ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдХрд┐рдорд╛рди рдПрдХрджрд╛ рддрд░реА рдкреНрд░реЛрд╕реЗрд╕рд░ рдордВрджрд╛рд╡рд▓реАрдЪрд╛ рдЕрдиреБрднрд╡ рдХреЛрдгрд╛рд▓рд╛ рдЖрд▓рд╛ рдирд╛рд╣реА? CPU рд╡рд╛рд░рдВрд╡рд╛рд░рддрд╛ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛? рд╕рд╛рдареА рд╣реЗ рдкрд░реНрдпрд╛рдп рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗрдд рдкрд╛рд╕реВрди рдкреНрд░реЛрд╕реЗрд╕рд░ рдереНрд░реЙрдЯрд▓ рд╕реЗрдЯрд┐рдВрдЧ рдмрджрд▓реВрди nix рдЖрдгрд┐ Windows рд╕рд┐рд╕реНрдЯрдо рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдЖрдгрд┐ рдкреНрд░рддрд┐рд╕рд╛рдж рд╕реБрдзрд╛рд░реВ рд╢рдХрддрд╛рдд рдорд╛рдЧрдгреА рд╡рд░ рдХрд╛рдордЧрд┐рд░реА*. рдпрд╛ рд╡реЗрд│реА, рд╡рд░реНрдгрдирд╛рдВрдЪреА рддреБрд▓рдирд╛ рдХрд░реВ рдЖрдгрд┐ рд╕рдорд╛рдирддрд╛ рдкрд╛рд╣реВ:

рд░рд╛рдЬреНрдпрдкрд╛рд▓ = рдорд╛рдЧрдгреА тАФ рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд▓реЛрдбрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдкреНрд░реЛрд╕реЗрд╕рд░ рдлреНрд░рд┐рдХреНрд╡реЗрдВрд╕реАрдЪреЗ рдбрд╛рдпрдиреЕрдорд┐рдХ рд╕реНрдХреЗрд▓рд┐рдВрдЧ. рд╡реЗрдЧрд╛рдиреЗ рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рд╡рд╛рд░рдВрд╡рд╛рд░рддреЗрд╡рд░ рдЙрдбреА рдорд╛рд░рддреЗ рдЖрдгрд┐ рдирдВрддрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдпрддреЗрдЪрд╛ рдХрд╛рд▓рд╛рд╡рдзреА рд╡рд╛рдврд▓реНрдпрд╛рдиреЗ рддреЛ рдХрдореА рд╣реЛрддреЛ.
рд░рд╛рдЬреНрдпрдкрд╛рд▓ = рдкреБрд░рд╛рдгрдорддрд╡рд╛рджреА = рд╡рд░реНрддрдорд╛рди рд▓реЛрдбрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдбрд╛рдпрдиреЕрдорд┐рдХ рд╡рд╛рд░рдВрд╡рд╛рд░рддрд╛ рд╕реНрдХреЗрд▓рд┐рдВрдЧ. рдСрдирдбрд┐рдорд╛рдВрдбрдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ рд╕рд╣рдЬрддреЗрдиреЗ рд╡рд╛рд░рдВрд╡рд╛рд░рддрд╛ рд╡рд╛рдврддреЗ рдЖрдгрд┐ рдХрдореА рд╣реЛрддреЗ.
рд░рд╛рдЬреНрдпрдкрд╛рд▓ = рдХрд╛рдордЧрд┐рд░реА - рд╡рд╛рд░рдВрд╡рд╛рд░рддрд╛ рдиреЗрд╣рдореА рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдЕрд╕рддреЗ.

рддрдкрд╢реАрд▓рд╛рдВрд╕рд╛рдареА, рдкрд╣рд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдлреНрд░рд┐рдХреНрд╡реЗрдВрд╕реА рд░реЗрдЧреНрдпреБрд▓реЗрдЯрд░ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреА рд╕рдВрдкреВрд░реНрдг рдпрд╛рджреА.

рд╕рдорд╛рдирддрд╛ рдкрд╣рд╛? рд╡рд╛рдкрд░рдгреЗ рдЙрддреНрддрдо рдЖрд╣реЗ рд╣реЗ рдкрдЯрд╡реВрди рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдорд▓рд╛ рд╣реА рддреБрд▓рдирд╛ рджрд╛рдЦрд╡рд╛рдпрдЪреА рд╣реЛрддреА pm рд╕реНрдерд┐рд░ PHP-FPM рд╕рд╛рдареА.

рдкреНрд░реЛрд╕реЗрд╕рд░ рд░реЗрдЧреНрдпреБрд▓реЗрдЯрд░ рдкреЕрд░рд╛рдореАрдЯрд░рд╕рд╛рдареА рдХрд╛рдордЧрд┐рд░реА рд╕реБрд░рдХреНрд╖рд┐рддрдкрдгреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕ рдорджрдд рдХрд░рддреЗ рдХрд╛рд░рдг рддреЗ рдЬрд╡рд│рдЬрд╡рд│ рдкреВрд░реНрдгрдкрдгреЗ рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ CPU рдорд░реНрдпрд╛рджреЗрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ. рдпрд╛ рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЕрд░реНрдерд╛рддрдЪ, рддрд╛рдкрдорд╛рди, рдмреЕрдЯрд░реА рдЪрд╛рд░реНрдЬ (рд▓реЕрдкрдЯреЙрдкрдордзреНрдпреЗ) рдЖрдгрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ 100% рд╡рд░ рд╕рддрдд рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪреЗ рдЗрддрд░ рджреБрд╖реНрдкрд░рд┐рдгрд╛рдо рдпрд╛рд╕рд╛рд░рдЦреЗ рдШрдЯрдХ рджреЗрдЦреАрд▓ рдЖрд╣реЗрдд. рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реЗрдЯрд┐рдВрдЧ рд╕рд░реНрд╡рд╛рдд рд╡реЗрдЧрд╡рд╛рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ. рд╡рд╛рдЪрд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдмрджреНрджрд▓ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдордзреНрдпреЗ force_turbo рдкреЕрд░рд╛рдореАрдЯрд░, рдЬреНрдпрд╛рд╕рд╣ RPi рдкреЕрдиреЗрд▓ рд░реЗрдЧреНрдпреБрд▓реЗрдЯрд░ рд╡рд╛рдкрд░реЗрд▓ рдХрд╛рдордЧрд┐рд░реА, рдЬреЗрдереЗ рдХрдореА CPU рдШрдбреНрдпрд╛рд│ рдЧрддреАрдореБрд│реЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгрд╛ рдЕрдзрд┐рдХ рд▓рдХреНрд╖рдгреАрдп рдЕрд╕реЗрд▓.

рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рд╕рд░реНрд╡реНрд╣рд░ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА pm рд╕реНрдЯреЕрдЯрд┐рдХ рд╡рд╛рдкрд░рдгреЗ

PHP-FPM рдкрд░реНрдпрд╛рдп pm рд╕реНрдерд┐рд░ рдореБрдЦреНрдпрддреНрд╡реЗ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реАрд▓ рд╡рд┐рдирд╛рдореВрд▓реНрдп рдореЗрдорд░реАрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ. рдореЗрдорд░реА рдХрдореА рдЕрд╕рд▓реНрдпрд╛рд╕, рдирд┐рд╡рдбрдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ рдорд╛рдЧрдгреА рдХрд┐рдВрд╡рд╛ рдбрд╛рдпрдиреЕрдорд┐рдХ. рджреБрд╕рд░реАрдХрдбреЗ, рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдореЗрдорд░реА рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА pm рд╕реЗрдЯ рдХрд░реВрди PHP рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдУрд╡реНрд╣рд░рд╣реЗрдб рдЯрд╛рд│реВ рд╢рдХрддрд╛ рд╕реНрдерд┐рд░ рдХрдорд╛рд▓ рд╕рд░реНрд╡реНрд╣рд░ рдХреНрд╖рдорддреЗрдкрд░реНрдпрдВрдд. рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рд╕рд░реНрд╡рдХрд╛рд╣реА рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдореЛрдЬрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ pm.static PHP-FPM рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рд╡реНрд╣реЙрд▓реНрдпреВрдордкрд░реНрдпрдВрдд рдЬреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдХрдореА рдореЗрдорд░реА рдХрд┐рдВрд╡рд╛ рдХреЕрд╢реЗрдордзреНрдпреЗ рд╕рдорд╕реНрдпрд╛ рдирд┐рд░реНрдорд╛рдг рди рдХрд░рддрд╛. рдкрд░рдВрддреБ рдЗрддрдХреЗ рдЙрдЪреНрдЪ рдирд╛рд╣реА рдХреА рддреЗ рдкреНрд░реЛрд╕реЗрд╕рд░рд▓рд╛ рдУрд▓рд╛рдВрдбреВрди рдЯрд╛рдХрддреЗ рдЖрдгрд┐ PHP-FPM рдСрдкрд░реЗрд╢рдиреНрд╕рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╣реЛрдгреНрдпрд╛рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ..

PHP-FPM рд╕реЗрдЯрдЕрдк: рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдХрд╛рдордЧрд┐рд░реАрд╕рд╛рдареА pm рд╕реНрдЯреЕрдЯрд┐рдХ рд╡рд╛рдкрд░рд╛

рд╡рд░реАрд▓ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯрдордзреНрдпреЗ, рд╕рд░реНрд╡реНрд╣рд░рдХрдбреЗ рдЖрд╣реЗ pm = рд╕реНрдерд┐рд░ рдЖрдгрд┐ pm.max_children = 100, рдЖрдгрд┐ рд╣реЗ рдЙрдкрд▓рдмреНрдз 10 рдкреИрдХреА рдЕрдВрджрд╛рдЬреЗ 32 GB рдШреЗрддреЗ. рд╣рд╛рдпрд▓рд╛рдЗрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реНрддрдВрднрд╛рдВрдХрдбреЗ рд▓рдХреНрд╖ рджреНрдпрд╛, рдпреЗрдереЗ рд╕рд░реНрд╡рдХрд╛рд╣реА рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ. рдпрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯрдордзреНрдпреЗ Google Analytics рдордзреНрдпреЗ рдЕрдВрджрд╛рдЬреЗ 200 рд╕рдХреНрд░рд┐рдп рд╡рд╛рдкрд░рдХрд░реНрддреЗ (60 рд╕реЗрдХрдВрджрд╛рдВрдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд) рд╣реЛрддреЗ. рдпрд╛ рд╕реНрддрд░рд╛рд╡рд░, рдЕрдВрджрд╛рдЬреЗ 70% PHP-FPM рдЪрд╛рдЗрд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдЬреВрдирд╣реА рдирд┐рд╖реНрдХреНрд░рд┐рдп рдЖрд╣реЗрдд. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА PHP-FPM рдиреЗрд╣рдореА рд╡рд░реНрддрдорд╛рди рд░рд╣рджрд╛рд░реАрдХрдбреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХрд░реВрди рд╕рд░реНрд╡реНрд╣рд░ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреНрдпрд╛ рдХрдорд╛рд▓ рдкреНрд░рдорд╛рдгрд╛рдд рд╕реЗрдЯ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдПрдХ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░рд╣рджрд╛рд░реА рд╢рд┐рдЦрд░рд╛рдВрдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рдЖрдгрд┐ рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрддреЗ. рддреБрдореНрд╣рд╛рд▓рд╛ рддреЛрдкрд░реНрдпрдВрдд рдерд╛рдВрдмрд╛рд╡реЗ рд▓рд╛рдЧрдгрд╛рд░ рдирд╛рд╣реА pm рдЪрд╛рдЗрд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрдпрд╛рд░ рдХрд░реЗрд▓ рдЖрдгрд┐ рдирдВрддрд░ рдЬреЗрд╡реНрд╣рд╛ рдХрд╛рд▓рд╛рд╡рдзреА рд╕рдВрдкреЗрд▓ рддреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рдВрдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрд▓ pm.process_idle_timeout. рдореА рдЦреВрдк рдЙрдЪреНрдЪ рдореВрд▓реНрдп рд╕реЗрдЯ рдХреЗрд▓реЗ pm.max_requestsрдХрд╛рд░рдг рд╣рд╛ PHP рдордзреНрдпреЗ рдореЗрдорд░реА рд▓реАрдХ рдирд╕рд▓реЗрд▓рд╛ рдХрд╛рд░реНрдпрд░рдд рд╕рд░реНрд╡реНрд╣рд░ рдЖрд╣реЗ. рдЖрдкрдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВ рд╢рдХрддрд╛ pm.max_requests = 0 рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рджреНрдпрдорд╛рди рдЖрдгрд┐ рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕рд╡рд░ рдкреВрд░реНрдг рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЕрд╕рд▓реНрдпрд╛рд╕ рд╕реНрдЯреЕрдЯрд┐рдХрд╕рд╣. рдкрд░рдВрддреБ рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрдиреНрд╣рд╛ рдЪрд╛рд▓рд╡рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ. рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рд╡рд┐рдирдВрддреНрдпрд╛ рд╕реЗрдЯ рдХрд░рд╛, рдХрд╛рд░рдг рдЖрдореНрд╣рд╛рд▓рд╛ рд░рд╛рддреНрд░реАрдЪреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЦрд░реНрдЪ рдЯрд╛рд│рд╛рдпрдЪреЗ рдЖрд╣реЗрдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХрд┐рдорд╛рди pm.max_requests = 1000 - рдкреНрд░рдорд╛рдгрд╛рдд рдЕрд╡рд▓рдВрдмреВрди pm.max_children рдЖрдгрд┐ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдж рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛.

рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХрдорд╛рдВрдб рджрд╛рдЦрд╡рддреЛ рд▓рд┐рдирдХреНрд╕ рд╢реАрд░реНрд╖, u (рд╡рд╛рдкрд░рдХрд░реНрддрд╛) рдЖрдгрд┐ PHP-FPM рд╡рд╛рдкрд░рдХрд░реНрддрд╛рдирд╛рд╡рд╛рджреНрд╡рд╛рд░реЗ рдлрд┐рд▓реНрдЯрд░ рдХреЗрд▓реЗрд▓реЗ. рдлрдХреНрдд рдкрд╣рд┐рд▓реНрдпрд╛ 50 рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджрд╛рдЦрд╡рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд (рдореА рдиреЗрдордХреЗ рдореЛрдЬрд▓реЗ рдирд╛рд╣реА), рдкрд░рдВрддреБ рдореБрдЦреНрдпрдд: рд╢реАрд░реНрд╖рд╕реНрдерд╛рдиреА рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛрдордзреНрдпреЗ рдмрд╕рдгрд╛рд░реА рд╢реАрд░реНрд╖ рдЖрдХрдбреЗрд╡рд╛рд░реА рджрд░реНрд╢рд╡рддреЗ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд % CPU (% CPU) рдиреБрд╕рд╛рд░ рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рд▓реА рдЖрд╣реЗ. рд╕рд░реНрд╡ 100 PHP-FPM рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА, рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рд╛:

top -bn1 | grep php-fpm

pm ondemand рдЖрдгрд┐ dynamic рдХрдзреА рд╡рд╛рдкрд░рд╛рдпрдЪреЗ

рдЖрдкрдг pm рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реНрдпрд╛рд╕ рдбрд╛рдпрдиреЕрдорд┐рдХ, рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рддреНрд░реБрдЯреА рдЖрдврд│рддрд╛рдд:

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

рдкреЕрд░рд╛рдореАрдЯрд░ рдмрджрд▓рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рд╛, рддреНрд░реБрдЯреА рджреВрд░ рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА, рдЬрд╕реЗ рд╕рд░реНрд╡реНрд╣рд░рдлреЙрд▓реНрдЯрд╡рд░ рдпрд╛ рдкреЛрд╕реНрдЯрдордзреНрдпреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЖрд╣реЗ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, pm.min рдЪреЗ рдореВрд▓реНрдп рдЦреВрдкрдЪ рд▓рд╣рд╛рди рд╣реЛрддреЗ рдЖрдгрд┐ рд╡реЗрдм рд░рд╣рджрд╛рд░реА рдЦреВрдк рдмрджрд▓рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ рдЖрдгрд┐ рдЙрдЪреНрдЪ рд╢рд┐рдЦрд░реЗ рдЖрдгрд┐ рдЦреЛрд▓ рджрд▒реНрдпрд╛ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, pm рдкреБрд░реЗрд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдгреЗ рдХрдареАрдг рдЖрд╣реЗ рдбрд╛рдпрдиреЕрдорд┐рдХ. рд╕рд╣рд╕рд╛ pm рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ рдорд╛рдЧрдгреА, рддреНрдпрд╛рдЪ рдкреЛрд╕реНрдЯрдордзреНрдпреЗ рд╕рд▓реНрд▓рд╛ рджрд┐рд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ. рдкрдг рд╣реЗ рдЖрдгрдЦреА рд╡рд╛рдИрдЯ рдЖрд╣реЗ, рдХрд╛рд░рдг рдорд╛рдЧрдгреА рдХрдореА рдХрд┐рдВрд╡рд╛ рдХрдореА рд░рд╣рджрд╛рд░реА рдЕрд╕рддрд╛рдирд╛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реВрдиреНрдпрд╛рд╡рд░ рд╕рдВрдкреБрд╖реНрдЯрд╛рдд рдЖрдгрддреЗ рдЖрдгрд┐ рддрд░реАрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рдмрджрд▓рддреНрдпрд╛ рд░рд╣рджрд╛рд░реАрдЪреНрдпрд╛ рдУрд╡реНрд╣рд░рд╣реЗрдбрд╕рд╣ рд╕рдорд╛рдкреНрдд рд╣реЛрдИрд▓. рдЬреЛрдкрд░реНрдпрдВрдд, рдЕрд░реНрдерд╛рддрдЪ, рдЖрдкрдг рдПрдХ рдкреНрд░рдЪрдВрдб рдкреНрд░рддреАрдХреНрд╖рд╛ рд╡реЗрд│ рд╕реЗрдЯ рдХрд░рдд рдирд╛рд╣реА. рдЖрдгрд┐ рдордЧ рддреЗ рд╡рд╛рдкрд░рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ pm.static + рдЙрдЪреНрдЪ рд╕рдВрдЦреНрдпрд╛ pm.max_requests.

PM рдбрд╛рдпрдиреЕрдорд┐рдХ рдЖрдгрд┐ рд╡рд┐рд╢реЗрд╖рддрдГ рдорд╛рдЧрдгреА рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдПрдХрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд PHP-FPM рдкреВрд▓ рдЕрд╕рд▓реНрдпрд╛рд╕ рддреЗ рдЙрдкрдпреЛрдЧреА рдкрдбреВ рд╢рдХрддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреБрдореНрд╣реА рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреВрд▓рдордзреНрдпреЗ рдПрдХрд╛рдзрд┐рдХ cPanel рдЦрд╛рддреА рдХрд┐рдВрд╡рд╛ рдПрдХрд╛рдзрд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯ рдХрд░рддрд╛. рдорд╛рдЭреНрдпрд╛рдХрдбреЗ 100+ cpanel рдЦрд╛рддреА рдЖрдгрд┐ рд╕реБрдорд╛рд░реЗ 200 рдбреЛрдореЗрди рдЕрд╕рд▓реЗрд▓рд╛ рд╕рд░реНрд╡реНрд╣рд░ рдЖрд╣реЗ рдЖрдгрд┐ pm.static рдХрд┐рдВрд╡рд╛ рдЕрдЧрджреА рдбрд╛рдпрдиреЕрдорд┐рдХ рдорд▓рд╛ рд╡рд╛рдЪрд╡реВ рд╢рдХрдгрд╛рд░ рдирд╛рд╣реА. рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдпреЗрдереЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдорд╛рдЧрдгреА, рд╢реЗрд╡рдЯреА, рджреЛрди рддреГрддреАрдпрд╛рдВрд╢ рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╡реЗрдмрд╕рд╛рдЗрдЯрдирд╛ рдХрдореА рдХрд┐рдВрд╡рд╛ рдХрдореА рд░рд╣рджрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рдЖрдгрд┐ рддреНрдпрд╛рд╕рд╣ рдорд╛рдЧрдгреА рд╕рд░реНрд╡ рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдВрдж рд╣реЛрддреАрд▓, рдЬреНрдпрд╛рдореБрд│реЗ рдЖрдкрд▓реА рдмрд░реАрдЪ рд╕реНрдорд░рдгрд╢рдХреНрддреА рд╡рд╛рдЪреЗрд▓! рд╕реБрджреИрд╡рд╛рдиреЗ, cPanel рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдиреА рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд▓реЗ рдЖрдгрд┐ рдореВрд▓реНрдп рдбреАрдлреЙрд▓реНрдЯрд╡рд░ рд╕реЗрдЯ рдХреЗрд▓реЗ рдорд╛рдЧрдгреА. рдкреВрд░реНрд╡реА, рдЬреЗрд╡реНрд╣рд╛ рдбреАрдлреЙрд▓реНрдЯ рд╣реЛрддреЗ рдбрд╛рдпрдиреЕрдорд┐рдХ, PHP-FPM рд╡реНрдпрд╕реНрдд рд╕рд╛рдорд╛рдпрд┐рдХ рд╕рд░реНрд╡реНрд╣рд░рд╕рд╛рдареА рдЕрдЬрд┐рдмрд╛рдд рдпреЛрдЧреНрдп рдирд╡реНрд╣рддреЗ. рдЕрдиреЗрдХрд╛рдВрдиреА рд╡рд╛рдкрд░рд▓реЗ рдЖрд╣реЗрдд suPHP, рдХрд╛рд░рдг рджреБрдкрд╛рд░реА рдбрд╛рдпрдиреЕрдорд┐рдХ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдкреВрд▓ рдЖрдгрд┐ cPanel PHP-FPM рдЦрд╛рддреНрдпрд╛рдВрд╕рд╣ рджреЗрдЦреАрд▓ рдореЗрдорд░реА рд╡рд╛рдкрд░рд▓реА. рдмрд╣реБрдзрд╛, рд░рд╣рджрд╛рд░реА рдЪрд╛рдВрдЧрд▓реА рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣рд╛рд▓рд╛ рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ PHP-FPM рдкреВрд▓ (рд╢реЗрдЕрд░ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ) рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╣реЛрд╕реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА.

рдирд┐рд╖реНрдХрд░реНрд╖

рддреБрдореНрд╣реА PHP-FPM рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реНрдпрд╛рд╕ рдЖрдгрд┐ рддреБрдордЪреА рд░рд╣рджрд╛рд░реА рдЬрд╛рд╕реНрдд рдЕрд╕рд▓реНрдпрд╛рд╕, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдорд╛рдЧрдгреА ╨╕ рдбрд╛рдпрдиреЕрдорд┐рдХ PHP-FPM рд╕рд╛рдареА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдУрд╡реНрд╣рд░рд╣реЗрдбрдореБрд│реЗ рдорд░реНрдпрд╛рджрд┐рдд рдереНрд░реВрдкреБрдЯ рдЕрд╕реЗрд▓. рддреБрдордЪреА рдкреНрд░рдгрд╛рд▓реА рд╕рдордЬреВрди рдШреНрдпрд╛ рдЖрдгрд┐ рдХрдорд╛рд▓ рд╕рд░реНрд╡реНрд╣рд░ рдХреНрд╖рдорддреЗрдиреБрд╕рд╛рд░ PHP-FPM рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛. рдкрд╣рд┐рд▓рд╛ рд╕реЗрдЯ pm.max_children рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд pm рд╡рд╛рдкрд░рд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдбрд╛рдпрдиреЕрдорд┐рдХ рдХрд┐рдВрд╡рд╛ рдорд╛рдЧрдгреА, рдЖрдгрд┐ рдирдВрддрд░ рд╣реЗ рдореВрд▓реНрдп рдЕрд╢рд╛ рд╕реНрддрд░рд╛рд╡рд░ рд╡рд╛рдврд╡рд╛ рдЬреЗрдереЗ рдореЗрдорд░реА рдЖрдгрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдУрд╡реНрд╣рд░рд▓реЛрдб рди рд╣реЛрддрд╛ рдХрд╛рд░реНрдп рдХрд░рддреАрд▓. рд╕рд╣ рддреБрдордЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдпреЗрдИрд▓ pm рд╕реНрдерд┐рд░, рддреБрдордЪреНрдпрд╛рдХрдбреЗ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдореЗрдорд░реАрдордзреНрдпреЗ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдЯреНрд░реЕрдлрд┐рдХ рд╕реНрдкрд╛рдЗрдХрдореБрд│реЗ рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ рдХрдореА CPU рд╕реНрдкрд╛рдЗрдХреНрд╕ рд╣реЛрддреАрд▓ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░ рдЖрдгрд┐ CPU рд▓реЛрдбрдЪреА рд╕рд░рд╛рд╕рд░реА рдкрд╛рддрд│реА рдХрдореА рд╣реЛрдИрд▓. рд╕рд░рд╛рд╕рд░реА PHP-FPM рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪрд╛ рдЖрдХрд╛рд░ рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рд╕рд╛рдареА рдореЕрдиреНрдпреБрдЕрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреЗ, рддреНрдпрд╛рдореБрд│реЗ рдЕрдзрд┐рдХ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЖрд╣реЗрдд рдбрд╛рдпрдиреЕрдорд┐рдХ ╨╕ рдорд╛рдЧрдгреА - рдЕрдзрд┐рдХ рд▓реЛрдХрдкреНрд░рд┐рдп. рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рд▓реЗрдЦ рдЙрдкрдпреБрдХреНрдд рд╣реЛрддрд╛.

DUP рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЪрд╛рд░реНрдЯ рдЬреЛрдбрд▓рд╛ ab. PHP-FPM рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдорд░реАрдордзреНрдпреЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рдореЗрдорд░реА рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдЦрд░реНрдЪрд╛рд╡рд░ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╡рд╛рдврддреЗ рдЬреЗрдереЗ рддреЗ рдмрд╕рддрд╛рдд рдЖрдгрд┐ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛рдд. рд╕реНрд╡рддрдГрд╕рд╛рдареА рд╕рд░реНрд╡реЛрддреНрддрдо рдкрд░реНрдпрд╛рдп рд╢реЛрдзрд╛.

PHP-FPM рд╕реЗрдЯрдЕрдк: рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдХрд╛рдордЧрд┐рд░реАрд╕рд╛рдареА pm рд╕реНрдЯреЕрдЯрд┐рдХ рд╡рд╛рдкрд░рд╛

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛