{"id":2955,"date":"2018-08-14T16:33:34","date_gmt":"2018-08-14T16:33:34","guid":{"rendered":"https:\/\/tst-amo.net.ua\/blog\/?p=2955"},"modified":"2018-08-14T16:33:34","modified_gmt":"2018-08-14T16:33:34","slug":"php-fpm-%d1%80%d0%b0%d1%81%d1%87%d0%b5%d1%82-%d0%b7%d0%bd%d0%b0%d1%87%d0%b5%d0%bd%d0%b8%d0%b9","status":"publish","type":"post","link":"https:\/\/tst-amo.net.ua\/blog\/?p=2955","title":{"rendered":"php-fpm &#8211; \u0440\u0430\u0441\u0447\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439"},"content":{"rendered":"<p>If you need to calculate and change these values based on the amount of memory on the system the following command will help us to determine the memory used by each (PHP-FPM) child process:<\/p>\n<pre class=\"codehilite\">ps -ylC php-fpm --sort:rss<\/pre>\n<p><strong>pm.max_children<\/strong>\u00a0can be calculated as:<\/p>\n<pre>pm.max_children = Total RAM dedicated to the web server \/ Max child process size<\/pre>\n<p>The server has 8GB of RAM, so:<\/p>\n<pre>pm.max_children = 6144MB \/ 85MB = 72<\/pre>\n<p>You need to take into account any other services running on the machine while calculating memory usage.<\/p>\n<p>Then change the settings as follow:<\/p>\n<pre class=\"codehilite\">pm.max_children = 70  \r\npm.start_servers = 20  \r\npm.min_spare_servers = 20  \r\npm.max_spare_servers = 35  \r\npm.max_requests = 500<\/pre>\n<p>\u041c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438 PHP-FPM \u044d\u0442\u043e\u0439 \u043a\u043e\u043c\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre>ps --no-headers -o \"rss,cmd\" -C php-fpm | awk '{ sum+=$1 } END { printf (\"%d%s\\n\", sum\/NR\/1024,\"M\") }'<\/pre>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440.<\/p>\n<p>\u041e\u0431\u044a\u0435\u043c \u043e\u0431\u0449\u0435\u0439 \/ \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439 \/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e\u00a0<em>free<\/em>:<\/p>\n<div class=\"language-sh highlighter-rouge\">\n<div class=\"highlight\">\n<pre class=\"highlight\"># free -m\r\n              total        used        free      shared  buff\/cache   available\r\nMem:           1803        1588          73           3         141          52\r\nSwap:          2047         955        1092<\/pre>\n<\/div>\n<\/div>\n<p>\u0414\u0430\u043b\u0435\u0435, \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0437\u0430 \u043e\u0441\u043d\u043e\u0432\u0443 \u0444\u043e\u0440\u043c\u0443\u043b\u0443 \u0434\u043b\u044f \u0440\u0430\u0441\u0447\u0435\u0442\u0430\u00a0<strong>pm.max_children<\/strong>\u00a0(<a href=\"https:\/\/serversforhackers.com\/video\/php-fpm-process-management\">\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a<\/a>), \u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043c \u0440\u0430\u0441\u0447\u0435\u0442 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435:<\/p>\n<div class=\"highlighter-rouge\">\n<div class=\"highlight\">\n<pre>Total Max Processes = (Total Ram - (Used Ram + Buffer)) \/ (Memory per php process)\r\n\r\n\u0412\u0441\u0435\u0433\u043e \u041e\u0417\u0423: 4\u0413\u0431\r\n\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u041e\u0417\u0423: 1000\u041c\u0431\r\n\u0411\u0443\u0444\u0435\u0440 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438: 400\u041c\u0431\r\n\u041f\u0430\u043c\u044f\u0442\u044c \u043d\u0430 \u043e\u0434\u0438\u043d \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0439 php-fpm \u043f\u0440\u043e\u0446\u0435\u0441\u0441 (\u0432 \u0441\u0440\u0435\u0434\u043d\u0435\u043c): 30\u041c\u0431\r\n\r\n\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0435 \u043a\u043e\u043b-\u0432\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 = (4096 - (1000 + 400)) \/ 30 = 89\r\n\u0427\u0435\u0442\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e: 89 \u043e\u043a\u0440\u0443\u0433\u043b\u0438\u043b\u0438 \u0432 \u043c\u0435\u043d\u044c\u0448\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0434\u043e 80<\/pre>\n<\/div>\n<\/div>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432 \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0430 \u0442\u0430\u043a\u0436\u0435 \u0443\u0447\u0435\u0441\u0442\u044c \u0447\u0435\u043c \u0435\u0449\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0441\u0435\u0440\u0432\u0435\u0440 \u043a\u0440\u043e\u043c\u0435 \u0440\u0430\u0431\u043e\u0442\u044b php-fpm (\u0441\u043a\u0430\u0436\u0435\u043c \u0421\u0423\u0411\u0414 \u0442\u0430\u043a\u0436\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432). \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0430\u043b\u0438\u0447\u0438\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0437\u0430\u0434\u0430\u0447 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 &#8211; \u0441\u0442\u043e\u0438\u0442 \u0441\u043d\u0438\u0437\u0438\u0442\u044c \u043a-\u0432\u043e \u043a\u0430\u043a \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0445 \/ \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432.<\/p>\n<p>\u041a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 \u0443\u0447\u0442\u0435\u043c \u0447\u0442\u043e \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f 2 \u043f\u0443\u043b\u0430 www1 \u0438 www2 (\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 2 \u0432\u0435\u0431-\u0440\u0435\u0441\u0443\u0440\u0441\u0430), \u0442\u043e\u0433\u0434\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u043d\u0438\u0445 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043a\u0430\u043a:<\/p>\n<div class=\"highlighter-rouge\">\n<div class=\"highlight\">\n<pre class=\"highlight\">pm.max_children = 40    ; 80 \/ 2\r\npm.start_servers = 15\r\npm.min_spare_servers = 15\r\npm.max_spare_servers = 25<\/pre>\n<\/div>\n<\/div>\n<p>https:\/\/community.webcore.cloud\/tutorials\/how_to_solve_php_fpm_server_reached_max_children\/<br \/>\nhttp:\/\/logvik.com\/\u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f-\u0434\u043b\u044f-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439-\u043d\u0430-\u043e\u0441\u043d\u043e\u0432\u0435-nginxphp-fpm\/php-fpm<br \/>\nhttps:\/\/hcbogdan.com\/php\/2016\/09\/16\/php-fpm-dynamic\/<br \/>\nhttp:\/\/adminunix.ru\/nastrojka-php-fpm-nginx-na-vps\/<\/p>\n<p>&nbsp;<\/p>\n<div class=\"pdfprnt-buttons pdfprnt-buttons-post pdfprnt-bottom-right\"><a href=\"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=wpv2posts2955&print=pdf\" class=\"pdfprnt-button pdfprnt-button-pdf\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/tst-amo.net.ua\/blog\/wp-content\/plugins\/pdf-print\/images\/pdf.png\" alt=\"image_pdf\" title=\"View PDF\" \/><\/a><a href=\"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=wpv2posts2955&print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/tst-amo.net.ua\/blog\/wp-content\/plugins\/pdf-print\/images\/print.png\" alt=\"image_print\" title=\"Print Content\" \/><\/a><\/div>","protected":false},"excerpt":{"rendered":"<p>If you need to calculate and change these values based on the amount of memory on the system the following command will help us to determine the memory used by each (PHP-FPM) child process: ps -ylC php-fpm &#8211;sort:rss pm.max_children\u00a0can be calculated as: pm.max_children = Total RAM dedicated to the web server \/ Max child process &#8230;<\/p>\n<p><a href=\"https:\/\/tst-amo.net.ua\/blog\/?p=2955\" class=\"more-link\">Continue reading &lsquo;php-fpm &#8211; \u0440\u0430\u0441\u0447\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439&rsquo; &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[47,100],"tags":[],"class_list":["post-2955","post","type-post","status-publish","format-standard","hentry","category-linux","category-php-fpm"],"_links":{"self":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2955"}],"collection":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2955"}],"version-history":[{"count":1,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2955\/revisions"}],"predecessor-version":[{"id":2956,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2955\/revisions\/2956"}],"wp:attachment":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}