Jump to content
Sign in to follow this  
VovaSemik

php-fmp нагружает 1 ядро ЦП из 4

Recommended Posts

Приветствую!
Подскажите, почему php-fmp "вешается" на одно ядро ЦП?
Если человек открывает, например, непрокешированную страницу товара с 8 картинками, то он ждет ответа +\-10 секунд, что я считаю недопустимым.
В этот момент 1 ядро пашет, а другие 3 "курят"
Что сделать, чтобы 1 процесс мог задействовать все ядра?
SosmbDo-JrY.jpg
В данный момент железо Q6600 4гб ddr2
Установлено:
Ububuntu server 16.04
apache2
php 7.2
mpm_event
Ocstore 2.3

Edited by VovaSemik

Share this post


Link to post
Share on other sites

у  php-fmp есть возможность за счет нескольких процессов, нагрузить все ядра. по-дефолту, один процесс - одно ядро.

Share this post


Link to post
Share on other sites
1 минуту назад, anboza сказал:

у  php-fmp есть возможность за счет нескольких процессов, нагрузить все ядра. по-дефолту, один процесс - одно ядро.

Если не сложно, тыкните в мануал

Share this post


Link to post
Share on other sites

ссыль )) раздел "настройка"

Edited by anboza

Share this post


Link to post
Share on other sites
26 минут назад, VovaSemik сказал:

Если человек открывает, например, непрокешированную страницу товара с 8 картинками, то он ждет ответа +\-10 секунд, что я считаю недопустимым.

Я сомневаюсь, что именно этот процесс (кеширование картинок на одной странице) можно распалелить по ядрам.

 

Попробуйте погуглить и покрутить параметры

pm.max_children - максимальное количество дочерних процессов

pm.start_servers - количество процессов при старте

pm.min_spare_servers - минимальное количество процессов, ожидающих соединения (запросов для обработки)

pm.max_spare_servers - максимальное количество процессов, ожидающих соединения (запросов для обработки)

Share this post


Link to post
Share on other sites

Попробуйте что-то типа

... /etc/php/*.*/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 15
pm.start_servers = 6
pm.min_spare_servers = 4
pm.max_spare_servers = 8
pm.process_idle_timeout = 5s;
pm.max_requests         = 1000
listen.mode = 0660

 

Share this post


Link to post
Share on other sites
5 минут назад, pashast сказал:

Я сомневаюсь, что именно этот процесс

я тоже, но документация говорит, что именно так все.

Share this post


Link to post
Share on other sites
3 часа назад, destreser сказал:

Попробуйте что-то типа

... /etc/php/*.*/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 15
pm.start_servers = 6
pm.min_spare_servers = 4
pm.max_spare_servers = 8
pm.process_idle_timeout = 5s;
pm.max_requests         = 1000
listen.mode = 0660

 

Dynamic  - это 300% отжер памяти. Только Ondemand!

Share this post


Link to post
Share on other sites
3 минуты назад, Yoda сказал:

Dynamic  - это 300% отжер памяти. Только Ondemand!

Вообще да, согласен. Я этот кусок выцепил со своего конфига, но у меня это взвешенное решение с четким просчетом ресурсов сервера и памяти.

Share this post


Link to post
Share on other sites
Только что, destreser сказал:

но у меня это взвешенное решение с четким просчетом ресурсов сервера и памяти.

ну тогда конечно, достаточно красноречивого обоснования! ))

и никаких инструкций )

Share this post


Link to post
Share on other sites
Только что, anboza сказал:

ну тогда конечно, достаточно красноречивого обоснования! ))

и никаких инструкций )

Мне воспитание не позволяет егоистично считать только себя умным и предполагать, что только я в состоянии погуглить значение и смысл уже конкретно приведенных параметров, с последующей подгонкой их значений.

Share this post


Link to post
Share on other sites
Только что, destreser сказал:

Мне воспитание не позволяет егоистично считать только себя умным и предполагать, что только я в состоянии погуглить значение и смысл уже конкретно приведенных параметров, с последующей подгонкой их значений.

качественные признаки супер-мена ))

Share this post


Link to post
Share on other sites
2 часа назад, destreser сказал:

Вообще да, согласен. Я этот кусок выцепил со своего конфига, но у меня это взвешенное решение с четким просчетом ресурсов сервера и памяти.

Это... По секрету расскажите. Чем такое решение обосновано. Я без каких либо подколок. Правда интересно.

Просто память никогда не резиновая.

Share this post


Link to post
Share on other sites
7 часов назад, Yoda сказал:

Это... По секрету расскажите. Чем такое решение обосновано. Я без каких либо подколок. Правда интересно.

Просто память никогда не резиновая.

В двух словах - без проблем, но полностью расписывать очень долго, а потому лень и не хочу. В моем проекте админка и фронт разнесены по разными пулами, для каждого свой конфиг. dynamic как раз для админки (помимо админки в этом пуле висит еще много всякого хлама, типа вебмина, веб-морд мониторинга опкеша, редиса и мунин). 

Edited by destreser

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.