PHP-FPM рд╕реЗрдЯрдЕрдк: рдЕрдзрд┐рдХрддрдо рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП pm static рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

PHP-FPM рд╕реЗрдЯрдЕрдк: рдЕрдзрд┐рдХрддрдо рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП pm static рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдПрдХ рдЕрд╕рдВрдкрд╛рджрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдореВрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдЖ рдерд╛ haydenjames.io рдФрд░ рдЙрдирдХреА рдЕрдиреБрдорддрд┐ рд╕реЗ рдпрд╣рд╛рдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд▓реЗрдЦрдХ.

рдореИрдВ рдЖрдкрдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдереНрд░реВрдкреБрдЯ рдмрдврд╝рд╛рдиреЗ, рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдФрд░ рд╕реАрдкреАрдпреВ рдФрд░ рдореЗрдореЛрд░реА рдХрд╛ рдЕрдзрд┐рдХ рд▓рдЧрд╛рддрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PHP-FPM рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, PHP-FPM рдореЗрдВ PM (рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдмрдВрдзрдХ) рд▓рд╛рдЗрди рд╣реИ рдЧрддрд┐рд╢реАрд▓, рдФрд░ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рдореЗрдореЛрд░реА рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ ondemand. рдЖрдЗрдП php.net рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ 2 рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ рдЙрдирд╕реЗ рдХреИрд╕реЗ рднрд┐рдиреНрди рд╣реИ рд╕реНрдерд┐рд░ рдЙрдЪреНрдЪ рдорд╛рддреНрд░рд╛ рд╡рд╛рд▓реЗ рдпрд╛рддрд╛рдпрд╛рдд рдХреЗ рд▓рд┐рдП рдЕрдкрд░рд╛рд╣реНрди:

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

рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА php-fpm.conf.

PHP-FPM рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдмрдВрдзрдХ рдФрд░ CPU рдЖрд╡реГрддреНрддрд┐ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдмреАрдЪ рд╕рдорд╛рдирддрд╛рдПрдБ

рдпрд╣ рд╡рд┐рд╖рдп рд╕реЗ рд╣рдЯрдХрд░ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ PHP-FPM рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╡рд┐рд╖рдп рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБред рд▓реИрдкрдЯреЙрдк, рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдпрд╛ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рдкрд░ рдХрд┐рд╕рдиреЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдзреАрдорд╛ рд╣реЛрдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рд╕реАрдкреАрдпреВ рдлреНрд░реАрдХреНрд╡реЗрдВрд╕реА рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдпрд╛рдж рд╣реИ? рдпреЗ рд╡рд┐рдХрд▓реНрдк рдЙрдкрд▓рдмреНрдз рд╣реИрдВ рдирд┐рдХреНрд╕ рдФрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкреНрд░реЛрд╕реЗрд╕рд░ рдереНрд░реЙрдЯрд▓ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдмрджрд▓рдХрд░ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ondemand рдкрд░ рдкреНрд░рджрд░реНрд╢рди*ред рдЗрд╕ рдмрд╛рд░, рдЖрдЗрдП рд╡рд┐рд╡рд░рдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ рдФрд░ рд╕рдорд╛рдирддрд╛рдПрдБ рджреЗрдЦреЗрдВ:

рд░рд╛рдЬреНрдпрдкрд╛рд▓=рдорд╛рдВрдЧ рдкрд░ - рд╡рд░реНрддрдорд╛рди рд▓реЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЖрд╡реГрддреНрддрд┐ рдХреА рдЧрддрд┐рд╢реАрд▓ рд╕реНрдХреЗрд▓рд┐рдВрдЧред рддреЗрдЬреА рд╕реЗ рдЕрдзрд┐рдХрддрдо рдЖрд╡реГрддреНрддрд┐ рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреА рдЕрд╡рдзрд┐ рдмрдврд╝рдиреЗ рдкрд░ рдЗрд╕реЗ рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИред
рдЧрд╡рд░реНрдирд░=рд░реВрдврд╝рд┐рд╡рд╛рджреА= рд╡рд░реНрддрдорд╛рди рднрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧрддрд┐рд╢реАрд▓ рдЖрд╡реГрддреНрддрд┐ рд╕реНрдХреЗрд▓рд┐рдВрдЧред рдСрдирдбрд┐рдорд╛рдВрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрдврд╝рд╛рддрд╛ рдФрд░ рдШрдЯрд╛рддрд╛ рд╣реИред
рдЧрд╡рд░реНрдирд░ = рдкреНрд░рджрд░реНрд╢рди -рдЖрд╡реГрддреНрддрд┐ рд╕рджреИрд╡ рдЕрдзрд┐рдХрддрдо рд╣реЛрддреА рд╣реИред

рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЖрд╡реГрддреНрддрд┐ рдирд┐рдпрд╛рдордХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА.

рд╕рдорд╛рдирддрд╛рдПрдВ рджреЗрдЦреЗрдВ? рдореИрдВ рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рддреБрд▓рдирд╛ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ рдЕрдкрд░рд╛рд╣реНрди рд╕реНрдерд┐рд░ PHP-FPM рдХреЗ рд▓рд┐рдП.

рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рдпрд╛рдордХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рджрд░реНрд╢рди рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд▓рдЧрднрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд░реНрд╡рд░ рдХреА рд╕реАрдкреАрдпреВ рд╕реАрдорд╛ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рддрд╛рдкрдорд╛рди, рдмреИрдЯрд░реА рдЪрд╛рд░реНрдЬ (рд▓реИрдкрдЯреЙрдк рдореЗрдВ) рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ 100% рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рдЕрдиреНрдп рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рдЬреИрд╕реЗ рдХрд╛рд░рдХ рднреА рд╣реИрдВред рдкреНрд░рджрд░реНрд╢рди рд╕реЗрдЯрд┐рдВрдЧ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝реЗрдВ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдореЗрдВ Force_turbo рдкреИрд░рд╛рдореАрдЯрд░, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрд░рдкреАрдЖрдИ рдкреИрдирд▓ рдирд┐рдпрд╛рдордХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ рдкреНрд░рджрд░реНрд╢рди, рдЬрд╣рд╛рдВ рдХрдо рд╕реАрдкреАрдпреВ рдХреНрд▓реЙрдХ рд╕реНрдкреАрдб рдХреЗ рдХрд╛рд░рдг рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдЧрд╛ред

рдЕрдзрд┐рдХрддрдо рд╕рд░реНрд╡рд░ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pm static рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

PHP-FPM рд╡рд┐рдХрд▓реНрдк рдЕрдкрд░рд╛рд╣реНрди рд╕реНрдерд┐рд░ рдпрд╣ рдХрд╛рдлреА рд╣рдж рддрдХ рд╕рд░реНрд╡рд░ рдкрд░ рдЙрдкрд▓рдмреНрдз рдореЗрдореЛрд░реА рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдореЗрдореЛрд░реА рдХрдо рд╣реИ, рддреЛ рдЗрд╕реЗ рдЪреБрдирдирд╛ рдмреЗрд╣рддрд░ рд╣реИ ondemand рдпрд╛ рдЧрддрд┐рд╢реАрд▓. рджреВрд╕рд░реА рдУрд░, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдореЗрдореЛрд░реА рд╣реИ, рддреЛ рдЖрдк pm рд╕реЗрдЯ рдХрд░рдХреЗ PHP рдкреНрд░реЛрд╕реЗрд╕ рдореИрдиреЗрдЬрд░ рдУрд╡рд░рд╣реЗрдб рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВ рд╕реНрдерд┐рд░ рдЕрдзрд┐рдХрддрдо рд╕рд░реНрд╡рд░ рдХреНрд╖рдорддрд╛ рддрдХ. рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрджрд┐ рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ pm.static рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реА PHP-FPM рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдЕрдзрд┐рдХрддрдо рдорд╛рддреНрд░рд╛ рддрдХ, рдХрдо рдореЗрдореЛрд░реА рдпрд╛ рдХреИрд╢ рдХреА рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд┐рдП рдмрд┐рдирд╛ред рд▓реЗрдХрд┐рди рдЗрддрдирд╛ рдЕрдзрд┐рдХ рдирд╣реАрдВ рдХрд┐ рдпрд╣ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рд╣рд╛рд╡реА рд╣реЛ рдЬрд╛рдП рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдореЗрдВ PHP-FPM рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдЬрдорд╛ рдХрд░ рджреЗ.

PHP-FPM рд╕реЗрдЯрдЕрдк: рдЕрдзрд┐рдХрддрдо рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП pm static рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рдЙрдкрд░реЛрдХреНрдд рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ, рд╕рд░реНрд╡рд░ рд╣реИ рдЕрдкрд░рд╛рд╣реНрди = рд╕реНрдерд┐рд░ рдФрд░ рдЕрдкрд░рд╛рд╣реНрди рдЕрдзрд┐рдХрддрдо_рдЪрд┐рд▓реНрдбреНрд░реЗрди = 100, рдФрд░ рдпрд╣ рдЙрдкрд▓рдмреНрдз 10 рдореЗрдВ рд╕реЗ рд▓рдЧрднрдЧ 32 рдЬреАрдмреА рд▓реЗрддрд╛ рд╣реИред рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдП рдЧрдП рдХреЙрд▓рдо рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИред рдЗрд╕ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ 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 рдФрд░ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред

рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХрдорд╛рдВрдб рджрд┐рдЦрд╛рддрд╛ рд╣реИ рд▓рд┐рдирдХреНрд╕ рд╢реАрд░реНрд╖, рдпреВ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) рдФрд░ PHP-FPM рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рджреНрд╡рд╛рд░рд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдХреЗрд╡рд▓ рдкрд╣рд▓реА 50 рдпрд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рджрд┐рдЦрд╛рдИ рдЬрд╛рддреА рд╣реИрдВ (рдореИрдВрдиреЗ рдмрд┐рд▓реНрдХреБрд▓ рдЧрд┐рдирддреА рдирд╣реАрдВ рдХреА), рд▓реЗрдХрд┐рди рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╢реАрд░реНрд╖ рд╢реАрд░реНрд╖ рдЖрдБрдХрдбрд╝реЗ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ % CPU (%CPU) рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рднреА 100 PHP-FPM рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:

top -bn1 | grep php-fpm

рдкреАрдПрдо рдСрдирдбрд┐рдорд╛рдВрдб рдФрд░ рдбрд╛рдпрдирд╛рдорд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░реЗрдВ

рдпрджрд┐ рдЖрдк 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.min рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдЧрддрд┐рд╢реАрд▓. рдЖрдорддреМрд░ рдкрд░ pm рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ondemand, рдЬреИрд╕рд╛ рдХрд┐ рдЙрд╕реА рдкреЛрд╕реНрдЯ рдореЗрдВ рд╕рд▓рд╛рд╣ рджреА рдЧрдИ рд╣реИ. рд▓реЗрдХрд┐рди рдпрд╣ рдФрд░ рднреА рдмреБрд░рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ ondemand рдХрдо рдпрд╛ рдХреЛрдИ рдЯреНрд░реИрдлрд╝рд┐рдХ рди рд╣реЛрдиреЗ рдкрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╢реВрдиреНрдп рдкрд░ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЕрднреА рднреА рдЯреНрд░реИрдлрд╝рд┐рдХ рдмрджрд▓рдиреЗ рдХреЗ рдУрд╡рд░рд╣реЗрдб рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдЬрдм рддрдХ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдк рдПрдХ рдмрдбрд╝рд╛ рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗред рдФрд░ рдлрд┐рд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ pm.static + рдЙрдЪреНрдЪ рд╕рдВрдЦреНрдпрд╛ pm.max_requests.

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

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

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

рдпреБрдкреАрдбреА рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЪрд╛рд░реНрдЯ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ ab. рдпрджрд┐ PHP-FPM рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдореЗрдореЛрд░реА рдореЗрдВ рд╣реИрдВ, рддреЛ рдЬрд╣рд╛рдВ рд╡реЗ рдмреИрдарддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣рд╛рдВ рдореЗрдореЛрд░реА рдЦрдкрдд рдХреА рдХреАрдордд рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред рдЕрдкрдиреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рд╡рд┐рдХрд▓реНрдк рдЦреЛрдЬреЗрдВ.

PHP-FPM рд╕реЗрдЯрдЕрдк: рдЕрдзрд┐рдХрддрдо рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП pm static рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ