ืึทื ืึทื ืจืขืืืืื ืืืขืจืกืืข ืคืื โโโโืืขื ืึทืจืืืงื ืืื ืืขืืืขื ืขืจืืืืฉื ืึทืื ืืจืืืก ืืืืฃ
ืืื ืืืขื ืคืืจื ืืืจ ืืื ืึท ื ืึทืืฉืขื ืืขืจ ืืขืกืืขืจ ืืืขื ืฆื ืงืึทื ืคืืืืขืจ PHP-FPM ืฆื ืคืึทืจืืจืขืกืขืจื ืืจืืคึผืื, ืจืขืืืฆืืจื ืืืืืึทื ืกื ืืื ื ืืฆื ืงืคึผื ืืื ืืึผืจืื ืืขืจ ืงืึทื ืกืืกืืึทื ืืื. ืืืจื ืคืขืืืงืืึทื, ืื PM (ืคึผืจืึธืกืขืก ืคืึทืจืืืึทืืืขืจ) ืฉืืจื ืืื PHP-FPM ืืื ืืื ืึทืืืฉ, ืืื ืืืื ืืืจ ืืึธื ื ืื ืืึธืื ืืขื ืื ืืึผืจืื, ืขืก ืืื ืืขืกืขืจ ืฆื ืื ืกืืึทืืืจื ืึธื ืืขืืึทื ื. ืืึธืืืจ ืคืึทืจืืืืึทืื 2 ืงืึธื ืืจืึธื ืึธืคึผืฆืืขืก ืืืืืจื ืืืืฃ ืื php.net ืืึทืงืืืืขื ืืืืฉืึทื ืืื ืืขื ืืื ืืืื ืืึทืืืืกืืข ืืื ืึทื ืืขืจืฉ ืคืื ืืื ืกืืึทืืืง 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 ืคึผืจืึธืฆืขืก ืคืึทืจืืืึทืืืขืจ ืืื ืื ืงืคึผื ืึธืคืืงืืึทื ืงืึธื ืืจืึธืืืขืจ
ืืึธืก ืงืขื ืืืกืงืืืขื ืึธืคืืึธืคึผืืง, ืึธืืขืจ ืืื ืืืขื ืคึฟืึทืจืืื ืืื ื ืืขื ืฆื ืื ืืขืืข ืคืื โโPHP-FPM ืงืึทื ืคืืืืขืจืืืฉืึทื. ืืืขืจ ืืื ื ืืฉื ืืงืกืคึผืืจืืึทื ืกื ืึท ืคึผืจืึทืกืขืกืขืจ ืกืืึธืืืึทืื ืืืึท ืืื ืืกืืขืจ ืึทืืึธื - ืืืืฃ ืึท ืืึทืคึผืืึทืคึผ, ืืืืจืืืึทื ืืึทืฉืื ืึธืืขืจ ืืขืืึทืงืืืืึทื ืกืขืจืืืขืจ. ืืขืืขื ืงื ืงืคึผื ืึธืคืืงืืึทื ืกืงืืืืื ื? ืื ืึธืคึผืฆืืขืก ืืขื ืขื ืื ืืืฆื ืคึฟืึทืจ ื ืืงืก ืืื Windows ืงืขื ืขื ืคึฟืึทืจืืขืกืขืจื ืกืืกืืขื ืคืึธืจืฉืืขืืื ื ืืื ืจืืกืคึผืึทื ืกืืืื ืึทืก ืืืจื ืืฉืึทื ืืื ื ืื ืคึผืจืึทืกืขืกืขืจ ืืขืจืื ืืึทืฉืืขืืืงื ืคึฟืื ืึธื ืืขืืึทื ื ืืืืฃ ืคืึธืจืฉืืขืืื ื*. ืืึธืก ืืึธื, ืืึธืืืจ ืคืึทืจืืืืืื ืื ืืืกืงืจืืคึผืฉืึทื ื ืืื ืงืืง ืืืืฃ ืื ืกืืืึทืืขืจืึทืืื:
ืืืืขืจื ืืืืจ=ืืื ืืืื ื - ืืื ืึทืืืฉ ืกืงืืืืื ื ืคืื ืคึผืจืึทืกืขืกืขืจ ืึธืคืืงืืึทื ืืืคึผืขื ืืื ื ืืืืฃ ืื ืงืจืึทื ื ืืึทืกืข. ืจืึทืคึผืึทืืื ืืืฉืึทืืคึผืก ืฆื ืืึทืงืกืืืื ืึธืคืืงืืึทื ืืื ืืขืืึธืื ืจืึทืืืกืึทื ืขืก ืืื ืคึผืืจืืึทืื ืคืื ืื ืึทืงืืืืืืื ืคืึทืจืืจืขืกืขืจื.
ืืขื ืขืจืื= ืงืื ืกืขืจืืืืืืื= ืืื ืึทืืืฉ ืึธืคืืงืืึทื ืกืงืืืืื ื ืืืคึผืขื ืืื ื ืืืืฃ ืื ืงืจืึทื ื ืืึทืกืข. ืื ืงืจืืกืึทื ืืื ืืืงืจืืกืึทื ืึธืคืืงืืึทื ืืขืจ ืกืืืืื ืืื ืึธื ืืขืืึทื ื.
ืืขื ืขืจืื = ืคืึธืจืฉืืขืืื ื - ืึธืคืืงืืึทื ืืื ืฉืืขื ืืืง ืืึทืงืกืืืื.
ืคึฟืึทืจ ืคืจืืื, ืืขื
ืืขื ืื ืกืืืึทืืขืจืึทืืื? ืืื ืืขืืืืื ืฆื ืืืืึทืื ืืขื ืคืึทืจืืืืึทื ืฆื ืืืืขืจืฆืืืื ืืืจ ืึทื ืขืก ืืื ืืขืกืืขืจ ืฆื ื ืืฆื pm ืกืืึทืืืง ืคึฟืึทืจ PHP-FPM.
ืคึฟืึทืจ ืื ืคึผืจืึทืกืขืกืขืจ ืจืขืืืืึทืืึธืจ ืคึผืึทืจืึทืืขืืขืจ ืคืึธืจืฉืืขืืื ื ืืขืืคึผืก ืฆื ืืขืฉืึธืืขื ืคืึทืจืืจืขืกืขืจื ืคืึธืจืฉืืขืืื ื ืืืืึทื ืขืก ืืื ืึผืืขื ืืขืืึทืืจืข ืึธืคืขื ืืืง ืืืืฃ ืื ืงืคึผื ืฉืืขืืจ ืคืื ืื ืกืขืจืืืขืจ. ืืื ืึทืืืฉืึทื ืฆื ืืขื, ืคืื ืงืืจืก, ืขืก ืืขื ืขื ืืืื ืกืืืืช ืึทืืึท ืืื ืืขืืคึผืขืจืึทืืืจ, ืืึทืืึทืจืืืข ืึธืคึผืฆืึธื (ืืื ืึท ืืึทืคึผืืึทืคึผ) ืืื ืื ืืขืจืข ืืืึทื ืืคืขืงืก ืคืื ืงืขืกืืืืขืจืืืง ืืืืคื ืื ืคึผืจืึทืกืขืกืขืจ ืืื 100%. ืื ืคืึธืจืฉืืขืืื ื ืืึทืฉืืขืืืงื ืื ืฉืืจื ืื ืคืึทืกืืึทืกื ืคึผืจืึทืกืขืกืขืจ ืคืึธืจืฉืืขืืื ื. ืืืืขื ืขื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืขืื
ื ืืฆื PM ืกืืึทืืืง ืฆื ืืขืจืืจืืืื ืืึทืงืกืืืื ืกืขืจืืืขืจ ืคืึธืจืฉืืขืืื ื
PHP-FPM ืึธืคึผืฆืืข pm ืกืืึทืืืง ืืึทืจืืขืื ืืขืคึผืขื ืืก ืืืืฃ ืื ืคืจืื ืืึผืจืื ืืืืฃ ืื ืกืขืจืืืขืจ. ืืืื ืืืงืึธืจื ืืื ื ืืืขืจืืง, ืขืก ืืื ืืขืกืขืจ ืฆื ืงืืืึทืื ืึธื ืืขืืึทื ื ืึธืืขืจ ืืื ืึทืืืฉ. ืืืืฃ ืื ืื ืืขืจืข ืืึทื ื, ืืืื ืืืจ ืืึธืื ืืืงืึธืจื, ืืืจ ืงืขื ืขื ืืืกืืืืื ืื PHP ืคึผืจืึธืฆืขืก ืคืึทืจืืืึทืืืขืจ ืึธืืืืขืจืืขื ืืืจื ืืึทืฉืืขืืืงื PM ืกืืึทืืืง ืฆื ืื ืืึทืงืกืืืื ืกืขืจืืืขืจ ืงืึทืคึผืึทืฆืืืขื. ืืื ืื ืืขืจืข ืืืขืจืืขืจ, ืืืื ืึทืืฅ ืืื ืงืึทืืงืืึทืืืืืื ืืขืืื ื, ืืืจ ืืึทืจืคึฟื ืฆื ืคืขืกืืฉืืขืื pm.static ืฆื ืื ืืึทืงืกืืืื ืืึทื ื ืคืื PHP-FPM ืคึผืจืึทืกืขืกืึทื ืืืึธืก ืงืขื ืขื ืืืื ืขืงืกืึทืงืืืืึทื, ืึธื ืงืจืืืืืื ื ืคึผืจืึธืืืขืืก ืืื ื ืืืขืจืืง ืืึผืจืื ืึธืืขืจ ืงืึทืฉ. ืึธืืขืจ ื ืืฉื ืึทืืื ืืืื ืึทื ืขืก ืึธืืืืขืจืืืืขืืื ืื ืคึผืจืึทืกืขืกืขืจื ืืื ืึทืงืืืืืึทืืืืฅ ืึท ืืื ืื ืคืื PHP-FPM ืึทืคึผืขืจืืืฉืึทื ื ืืืืจืื ืฆื ืืืื ืขืงืกืึทืงืืืืึทื.
ืืื ืื ืกืงืจืขืขื ืฉืึธื ืืืืื, ืืขืจ ืกืขืจืืืขืจ ืืื pm = ืกืืึทืืืง ืืื pm.max_children = 100, ืืื ืืึธืก ื ืขืื ืืขืขืจืขื 10 ืืืืืืืื ืคืื ืื ืื ืืืฆื 32. ืืึทืฆืึธืื ืืคืืขืจืงืืึทืืงืืึทื ืฆื ืื ืืืืืืืืื ืฉืคืืืื, ืึทืืฅ ืืื ืงืืึธืจ ืืึธ. ืืื ืืขื ืกืงืจืขืขื ืฉืึธื ืขืก ืืขื ืขื ืืขืืืขื ืืขืขืจืขื 200 ืึทืงืืืื ื ืืฆืขืจืก (ืืขืจ ืืื 60 ืกืขืงืื ืืขืก) ืืื Google ืึทื ืึทืืืืืงืก. ืืื ืืขื ืืืจืื, ืืขืขืจืขื 70% ืคืื PHP-FPM ืงืื ื ืคึผืจืึทืกืขืกืึทื ืืขื ืขื ื ืึธื ืืืืืืง. ืืขื ืืืื ืึทื PHP-FPM ืืื ืฉืืขื ืืืง ืืึทืฉืืืื ืฆื ืื ืืึทืงืกืืืื ืกืืืข ืคืื โโโโืกืขืจืืืขืจ ืจืขืกืืจืกื ืจืึทืืึทืจืืืึทืก ืคืื ืืขื ืงืจืึทื ื ืคืึทืจืงืขืจ. ืึท ืืืืืืง ืคึผืจืึธืฆืขืก ืืืืจืื ืคึฟืึทืจ ืคืึทืจืงืขืจ ืคึผืืงืก ืืื ืจืืกืคึผืึทื ืื ืืืืงืขืฃ. ืื ืืืืกื ื ืืฉื ืืืึทืจืื ืืื pm ืืืขื ืืึทืื ืงืื ื ืคึผืจืึทืกืขืกืึทื ืืื ืืขืืึธืื ืคืึทืจืขื ืืืงื ืืื ืืืขื ืื ืฆืืึทื ืืงืกืคึผืืืขืจื pm.process_idle_timeout. ืืื ืฉืืขืื ืื ืืืขืจื ืฆื ืืืืขืจ ืืืื pm.max_requestsืืืืึทื ืืึธืก ืืื ืึท ืืจืืขืื ืกืขืจืืืขืจ ืืื ืงืืื ืืึผืจืื ืืืงืก ืืื PHP. ืืืจ ืงืขื ืขื ืื ืกืืึทืืืจื pm.max_requests = 0 ืืื ืกืืึทืืืง ืืืื ืืืจ ืืขื ื ืืึธืจ ืืืืขืจ ืืื ืืืืืกืืื ื ืืื ืฆืืงืื ืคึฟื PHP ืกืงืจืืคึผืก. ืืืขืจ ืขืก ืืื ืืขืกืขืจ ืฆื ืืืืคื ืื ืกืงืจืืคึผืก ืืืืขืจ ืฆืืึทื. ืฉืืขืื ืึท ืืจืืืก ื ืืืขืจ ืคืื ืจืืงืืืขืก, ืืืืึทื ืืืจ ืืืืื ืฆื ืืืกืืืืื ืืื ืืืืืง PM ืงืึธืก. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืึท ืืื ืืกืืขืจ pm.max_requests = 1000 - ืืืคึผืขื ืืื ื ืืืืฃ ืงืืืึทื ืืืื pm.max_children ืืื ืื ื ืืืขืจ ืคืื ืจืืงืืืขืก ืคึผืขืจ ืกืขืงืื ืืข.
ืื ืกืงืจืขืขื ืฉืึธื ืืืืืื ืื ืืึทืคึฟืขื
top -bn1 | grep php-fpm
ืืืขื ืฆื ื ืืฆื PM ืึธื ืคืจืขื ืืื ืืื ืึทืืืฉ
ืืืื ืืืจ ื ืืฆื 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 ืืื ืึทืืืฉ ืืื ืกืคึผืขืฆืืขื ืึธื ืืขืืึทื ื ืงืขื ืืืื ื ืืฆืืง ืืืื ืืืจ ืืึธืื ืงืืืคื PHP-FPM ืคึผืึธืึธืืก. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืจ ืืึทืืขืืึธืก ืงืืืคื ืงืคึผืึทื ืขื ืึทืงืึทืื ืฅ ืึธืืขืจ ืงืืืคื ืืืขืืกืืืขืก ืืื ืคืึทืจืฉืืืขื ืข ืคึผืึธืึธืืก. ืืื ืืึธืื ืึท ืกืขืจืืืขืจ ืืื, ืืึธืื, 100+ ืงืคึผืึทื ืขื ืึทืงืึทืื ืฅ ืืื ืืืขืื 200 ืืึธืืืืื ื, ืืื pm.static ืึธืืขืจ ืืคืืื ืืื ืึทืืืฉ ืืืึธืื ื ืืฉื ืจืึทืืขืืืขื ืืืจ. ืื ืืืจ ืืึทืจืคึฟื ืืึธ ืืื ืึธื ืืขืืึทื ื, ื ืึธื ืึทืืข, ืืขืจ ืืื ืฆืืืื-ืืขืจืื ืคืื ืืืขืืกืืืขืก ืืึทืงืืืขื ืงืืืื ืึธืืขืจ ืงืืื ืคืึทืจืงืขืจ, ืืื ืืื ืึธื ืืขืืึทื ื ืึทืืข ืงืื ื ืคึผืจืึทืกืขืกืึทื ืืืขื ืคืึทืื ืึทืืืขืง, ืืืึธืก ืืืขื ืจืึทืืขืืืขื ืืื ืื ืึท ืคึผืืึทืฅ ืคืื ืืึผืจืื! ืฆืื ืืืืง, ืื ืงืคึผืึทื ืขื ืืขืืืขืืึธืคึผืขืจืก ืืืืขืจืงื ืืขื ืืื ืฉืืขืื ืื ืืืขืจื ืฆื ืคืขืืืงืืึทื ืึธื ืืขืืึทื ื. ืืื ืึทืืขืจ, ืืืขื ืื ืคืขืืืงืืึทื ืืื ืืขืืืขื ืืื ืึทืืืฉ, PHP-FPM ืืื ืืืื ื ืืฉื ืคึผืึทืกืืง ืคึฟืึทืจ ืคืึทืจื ืืืขื ืฉืขืจื ืกืขืจืืืขืจืก. ืคืืืข ืืึธืื ืืขืืืืื ื suPHP, ืืืืช PM ืืื ืึทืืืฉ ืงืึทื ืกืืื ืืึผืจืื ืืคืืื ืืื ืืืืืืง ืคึผืึธืึธืืก ืืื cPanel PHP-FPM ืึทืงืึทืื ืฅ. ืจืืึฟ ืืกืชึผืื, ืืืื ืืขืจ ืคืึทืจืงืขืจ ืืื ืืื, ืืืจ ืืืขื ื ืืฉื ืืืื ืืึธืืกืืื ืืืืฃ ืึท ืกืขืจืืืขืจ ืืื ืึท ืืจืืืก ื ืืืขืจ ืคืื PHP-FPM ืคึผืึธืึธืืก (ืฉืขืจื ืืึธืกืืื ื).
ืกืึธืฃ
ืืืื ืืืจ ื ืืฆื PHP-FPM ืืื ืืืื ืคืึทืจืงืขืจ ืืื ืฉืืืขืจ, ืคึผืจืึธืฆืขืก ืืึทื ืึทืืืฉืขืจื ืึธื ืืขืืึทื ื ะธ ืืื ืึทืืืฉ ืคึฟืึทืจ PHP-FPM ืืืขื ืืืื ืืืืืืขื ืืจืืคึผืื ืจืขืื ืฆื ืืืืขืจ ืืึธืืืง ืึธืืืืขืจืืขื. ืคึฟืึทืจืฉืืืื ืืืื ืกืืกืืขื ืืื ืงืึทื ืคืืืืขืจ PHP-FPM ืคึผืจืึทืกืขืกืึทื ืืืื ืื ืืึทืงืกืืืื ืกืขืจืืืขืจ ืงืึทืคึผืึทืฆืืืขื. ืขืจืฉืืขืจ ืฉืืขืื pm.max_children ืืืคึผืขื ืืื ื ืืืืฃ ืืึทืงืกืืืื PM ืืึทื ืืฅ ืืื ืึทืืืฉ ืึธืืขืจ ืึธื ืืขืืึทื ื, ืืื ืืขืืึธืื ืคืึทืจืืจืขืกืขืจื ืืขื ืืืขืจื ืฆื ืึท ืืืจืื ืืื ืื ืืึผืจืื ืืื ืคึผืจืึทืกืขืกืขืจ ืืืขื ืึทืจืืขืื ืึธื ืึธืืืืขืจืืึธืืืื. ืืืจ ืืืขื ืืึทืืขืจืงื ืึทื ืืื pm ืกืืึทืืืง, ืืื ื ืืืจ ืืึธืื ืึทืืฅ ืืื ืืึผืจืื, ืคืึทืจืงืขืจ ืกืคึผืืืงืก ืืืขื ืคืึทืจืฉืึทืคื ืืืืื ืืงืขืจืข ืงืคึผื ืกืคึผืืืงืก ืืืืขืจ ืฆืืึทื, ืืื ืกืขืจืืืขืจ ืืื ืงืคึผื ืืึทืกืข ืึทืืืจืืืืฉืื ืืืขื ืืืืึทื ืืืืก. ืื ืืืจืืฉื ืืืืขื PHP-FPM ืคึผืจืึธืฆืขืก ืืจืืืก ืืขืคึผืขื ืืก ืืืืฃ ืื ืืืขื ืกืขืจืืืขืจ ืืื ืจืืงืืืืืขืจื ืืึทื ืืึทื ืงืึทื ืคืืืืขืจืืืฉืึทื, ืึทืืื ืืขืจ ืึธืืึทืืืืืื ืคึผืจืึธืฆืขืก ืืึทื ืึทืืืฉืขืจื ืืื ืึทืืืฉ ะธ ืึธื ืืขืืึทื ื - ืืขืจ ืคืึธืืงืก. ืืื ืืึธืคึฟื ืืขืจ ืึทืจืืืงื ืืื ืืขืืืขื ื ืืฆืืง.
DUP ืฆืืืขืืืืื ืืขื ืืฉืืึทืจืง ืืฉืึทืจื
ืืงืืจ: www.habr.com