Наконец-то я нашел это! Везде, в т ч. хваленых "англоязычных источниках" не мог найти этой информации. Везде рассказывают про установку количества процессов так - "в зависимости от ваших задачь и ресурсов сервера". Блин ну ок, 16 гб оперативы, задача - спарсить весь интернет за 2 сек. Иии что? Сколько указывать? 20? 500? 1000000? А здесь вы всё подробно, с расчетами рассказали. Спасибо! Еще один плюс в копилку знаний.
оставлю 70ый комментарий под видео(жаль портить такую хорошую цифру как 69.. xD) Огромное спасибо за такое лаконичное и очень понятное объяснение! я за 20 минут понял то что не вкуривал до конца последние лет 5-7!!!!! низкий поклон!
Огромное спасибо за ролик. Как раз мегодня столкнулся с проблемой, что phpfpm отваливался из недостатка процессов. Благодаря вам понял, как правильно настроить процессы, что и сделал. И заодно узнал, что soapui позволяет проводить нагрузочные тесты
Добрый день. Весьма полезное видео по настройке... Спасибо.. Было бы здорово увидить видео о работе web серверов, более абстрактное, без каких то примеров настроек.. Чтобы лучше разобраться с создаваемыми процессами, потребление памяти и cpu .. и варианты улучшения в случае роста трафика
Потому что, без музыки и эффектов и прочей чепушни. У таких полно подписчиков и материал у них как мультик . Просто повторяешь за ними и что-то получается. А у Андрея Шестакова материал несет более осмысленный, информативный характер. Ты мало чему научился, но много чего осмыслил
на последней работе внедрял RoadRunner, очень интересная штука. При должной сноровке получается просто ракета, потребляющая в 3 раза меньше ресурсов сервера и плюс ко всему практчески неубиваемая. Вместо традиционного подхода приложение на PHP демонизируется в бесконечный цикл и обменивается запросами и ответами PSR7 с фронтендом на GO.
А как вы определяете оптимальные значения параметров PHP-FPM для вашего сервера? Лично я, когда решил освоить веб-разработку, выбирал курсы для получения практических навыков. Рассматривал разные варианты, но выбрал Skypro из-за отличных отзывов. Курсы были настолько структурированы и понятны, что уже через пару месяцев до окончания обучения смог устроиться на работу с хорошей зарплатой))
Какой-то синтетический тест. sleep не эмулирует работу, процессор вообще не нагружает. А что произойдёт, если убрать sleep заменить его генерацией хэшей в цикле на туже секунду? У вас уже начиная с 5 потока всё резко замедлится, т.к. ядер всего 4, и даже если там гипертрединг есть он всё равно не справится уже с 9 потока. А где вы видели продакшен код, в котором просто так sleep раскидан? Это я ещё не сказал, что обычно потоки потребляют разное количество памяти.
интересно, а если мы упакуем php-fpm в docker, то методика расчета предложенная не совсем подходит так как образ не изменяемый или собирать для каждой машины свой образ и заранее знать параметры хост машин, как найти золотую середину
Добрый день! Спасибо за видео. Подскажите, как мне вывести конфиг, если php-fpm запущена как служба (php7.2-fpm.service)? Если просто ввести php-fpm -tt, то будет ошибка php-fpm: command not found
имхо можно сделать pm = ondemand и не парится... у меня просто реальный проект был на котором у меня вечно падал php-fpm из-за того что стоял pm = dynamic
Я как понимаю расчет исходил из параметров локальной машины, с учетом того, что боевой сервер расположен на нашей(локальной) машине? А что касаемо внешнего сервера(хостинга) какие параметры мы можем получить о ядрах и тд и сможем ли мы применить такую же операцию на внешнем сервере? Или я не правильно понял видео-урок?
Отличные темы поднимаешь! А то кругом одна банальщина, по типу как настроить nginx + php-fpm. А вот глубже то никто особо и не копает. Жаль, что ты, похоже, забросил канал.
Количество процессов зависит больше не от памяти, а от количества ядер, а точнее даже потоков в процессоре. Нет никого смысла ставить 200 процессов, если у тебя 4 ядра. Хорошей практикой считается х2-х4 процессов по отношению к количеству ядер, если ставить больше, то производительность даже падает. Так же установка в статик повышает производительность, менеджеру не надо тратить время на создание процессов, а потом на утилизацию. Сам он по себе памяти ест мало, пусть всегда эта пачка процессов будет висеть в режиме ожидания это считанные мегабайты
Подозреваю что увеличение кол-ва обработки запросов, так же потянет за собой увеличение расходов: оперативный памяти, нагрузку на цп и жёсткий диск... Выход так себе...
Как вариант можно использовать службу мониторинга pinba. Добавить логирования на уровне nginx. А также написать bash скрипт, который в фоновом режиме может анализировать статистику (количество, потребляемая память) по открытым php-fpm процессам.
Благодарю за отзыв! В целом могу сказать, что эти знания необходимы PHP разработчику. Возможно только в очень крупных компаниях, где есть собственный батальон devOps`ов и администраторов, существует понятие "чистых программистов", которые занимаются непосредственно только кодингом, но реальность иная.
Спасибо, что думаете по поводу pm static? По идее должно дать максимальную производительность, т.к. не будет затрачиваться время на создание и удаление процессов
В целом - да, static может стать выигрышным вариантом при соблюдении как минимум условий: - памяти достаточно, чтобы держать постоянно N процессов на готове. - нагрузка на проект распределена равномерно и нет сильных пиков. - "отзывчивость" (время отклика) для проекта более критично, чем память. Мыслите верно, выбираемый вариант зависит от контекста и доступного железа. Static, dynamic, ondemand - любой из вариантов может подойти под определенный контекст. Тут нет однозначного простого ответа.
@@MegaPushTV уже писал где то, что route читает как рут и раут в американском английском и британском по разному. Лучше использовать раут, чтобы не путать с root. Все верно.
Введите на youtube запрос route pronunciation - в британском английском произносится действительно рут, но в американском раут. Использую произношение route как раут намеренно, чтобы на русский слух не путать со словом root, которое тоже в программировании имеет свой смысл.
незаслуженно мало подписчиков для такого внятного и полезного контента !
Андрей, спасибо за труды
Круто было бы увидеть от вас видео про паттерны проектирования или краткий курс по docker.
Наконец-то я нашел это! Везде, в т ч. хваленых "англоязычных источниках" не мог найти этой информации. Везде рассказывают про установку количества процессов так - "в зависимости от ваших задачь и ресурсов сервера". Блин ну ок, 16 гб оперативы, задача - спарсить весь интернет за 2 сек. Иии что? Сколько указывать? 20? 500? 1000000?
А здесь вы всё подробно, с расчетами рассказали. Спасибо! Еще один плюс в копилку знаний.
оставлю 70ый комментарий под видео(жаль портить такую хорошую цифру как 69.. xD) Огромное спасибо за такое лаконичное и очень понятное объяснение! я за 20 минут понял то что не вкуривал до конца последние лет 5-7!!!!! низкий поклон!
Огромное спасибо за ролик. Как раз мегодня столкнулся с проблемой, что phpfpm отваливался из недостатка процессов. Благодаря вам понял, как правильно настроить процессы, что и сделал. И заодно узнал, что soapui позволяет проводить нагрузочные тесты
Андрей, хочу отметить, что у вас очень качественный контент. Вам бы курс сделать по пыхе.
Добрый день. Весьма полезное видео по настройке... Спасибо.. Было бы здорово увидить видео о работе web серверов, более абстрактное, без каких то примеров настроек.. Чтобы лучше разобраться с создаваемыми процессами, потребление памяти и cpu .. и варианты улучшения в случае роста трафика
Спасибо за объяснения. Всё чётко и понятно.
Почему так мало подписчиков? Это ж топ контент
i know it is kinda randomly asking but do anyone know of a good site to watch new tv shows online ?
@Noe Bryce I would suggest flixzone. You can find it by googling =)
Потому что, без музыки и эффектов и прочей чепушни. У таких полно подписчиков и материал у них как мультик . Просто повторяешь за ними и что-то получается.
А у Андрея Шестакова материал несет более осмысленный, информативный характер. Ты мало чему научился, но много чего осмыслил
Ну да. Как типо у инфоциган Гоши Дударя и Хауди Хо и многих других.
Жаль, что автор забросил канал :"( Такой приятный и объясняет очень достойно.
Дела, дела, работа. Но есть ещё, что рассказать. Может узкие темы ещё подниму для обсуждения/урока. Благодарю за отзыв.
@@АндрейШестаков-н6м это радует, ждём новых выпусков)
Уважаемый автор, не забрасывай канал. Таких толковых видео на Ютубе очень мало.
Благодарю. Все будет, но видимо не раньше зимы, пока много работы.
Хороший видос. Довольно коротко и по делу. Лайк
лукас от сео-гуру СЕООНЛИ
на последней работе внедрял RoadRunner, очень интересная штука. При должной сноровке получается просто ракета, потребляющая в 3 раза меньше ресурсов сервера и плюс ко всему практчески неубиваемая. Вместо традиционного подхода приложение на PHP демонизируется в бесконечный цикл и обменивается запросами и ответами PSR7 с фронтендом на GO.
Спасибо
Очень полезный канал. Спасибо за информацию.
Спасибо!
Полезное видео, класс! Автору, спасибо!
Спасибо большое! Все просто, понятно и по делу - как раз то что я и хотел узнать
Спасибо, выручил
А как вы определяете оптимальные значения параметров PHP-FPM для вашего сервера? Лично я, когда решил освоить веб-разработку, выбирал курсы для получения практических навыков. Рассматривал разные варианты, но выбрал Skypro из-за отличных отзывов. Курсы были настолько структурированы и понятны, что уже через пару месяцев до окончания обучения смог устроиться на работу с хорошей зарплатой))
Крутое видео
Спасибо, очень дельно
От души!
В любом случае, спасибо за проффит
Какой-то синтетический тест.
sleep не эмулирует работу, процессор вообще не нагружает.
А что произойдёт, если убрать sleep заменить его генерацией хэшей в цикле на туже секунду?
У вас уже начиная с 5 потока всё резко замедлится, т.к. ядер всего 4, и даже если там гипертрединг есть он всё равно не справится уже с 9 потока.
А где вы видели продакшен код, в котором просто так sleep раскидан?
Это я ещё не сказал, что обычно потоки потребляют разное количество памяти.
Крутой.
круто!
спасибо за работу. мне понравилось видео
Просто, доходчиво, но слегка длинновато. Можно сделать версию 2.0 и ужать до 4 минут.
Большое спасибо за ваш труд!
На несчастных свободных 700mb RAM и 3 CPU поднастроил конфиг, сайт зажил новой жизнью
PHP-FPM спасибо, круто объяснил
👍
Спасибо! Но мало, хочу еще. Есть блог?
интересно, а если мы упакуем php-fpm в docker, то методика расчета предложенная не совсем подходит так как образ не изменяемый или собирать для каждой машины свой образ и заранее знать параметры хост машин, как найти золотую середину
отдельно можно монтировать конфиги в docker-compose.yml аля php.ini
Добрый день! Спасибо за видео. Подскажите, как мне вывести конфиг, если php-fpm запущена как служба (php7.2-fpm.service)? Если просто ввести php-fpm -tt, то будет ошибка php-fpm: command not found
симлинк сделай: sudo ln -s /usr/sbin/php-fpm7.2 /usr/sbin/php7.2-fpm
только пиши: php7.2-fpm -tt
не знал, что soapui так умеет
имхо можно сделать pm = ondemand и не парится... у меня просто реальный проект был на котором у меня вечно падал php-fpm из-за того что стоял pm = dynamic
Я как понимаю расчет исходил из параметров локальной машины, с учетом того, что боевой сервер расположен на нашей(локальной) машине? А что касаемо внешнего сервера(хостинга) какие параметры мы можем получить о ядрах и тд и сможем ли мы применить такую же операцию на внешнем сервере? Или я не правильно понял видео-урок?
Подключаешься по ssh к внешнему серверу и работаешь так же, как на видео
Очень круто! спасибо! а можно узнать какие у вас настройки nginx и mysql (docker)?
Поддерживаю канал.
Благодарю, коллега!
Отличные темы поднимаешь! А то кругом одна банальщина, по типу как настроить nginx + php-fpm. А вот глубже то никто особо и не копает. Жаль, что ты, похоже, забросил канал.
Благодарю за отзыв. Надеюсь, что ещё выйду в эфир. К сожалению, пока причина банальна - нехватка времени на фоне всех дел и забот. Спасибо!
Если оперативной памяти мало - 512-1024 Мбайт - то лучше использовать ondemand.
Это для тех - кто юзает бюджетные тарифы VPS )
Бля... Спасибо большое за такой контент в нормальном виде!!
Количество процессов зависит больше не от памяти, а от количества ядер, а точнее даже потоков в процессоре. Нет никого смысла ставить 200 процессов, если у тебя 4 ядра. Хорошей практикой считается х2-х4 процессов по отношению к количеству ядер, если ставить больше, то производительность даже падает. Так же установка в статик повышает производительность, менеджеру не надо тратить время на создание процессов, а потом на утилизацию. Сам он по себе памяти ест мало, пусть всегда эта пачка процессов будет висеть в режиме ожидания это считанные мегабайты
Подозреваю что увеличение кол-ва обработки запросов, так же потянет за собой увеличение расходов: оперативный памяти, нагрузку на цп и жёсткий диск... Выход так себе...
Ничто не дается бесплатно =)
А как это мониторить?
Как вариант можно использовать службу мониторинга pinba. Добавить логирования на уровне nginx. А также написать bash скрипт, который в фоновом режиме может анализировать статистику (количество, потребляемая память) по открытым php-fpm процессам.
Сделайте , пожалуйста, выпуски для самых новичков в PHp !
Для новичков контента на TH-cam полно
Немного пристранная задача, к программированию конечно имеет отношение, но в целом, скорее к архитектуре, имхо.
Благодарю за отзыв! В целом могу сказать, что эти знания необходимы PHP разработчику. Возможно только в очень крупных компаниях, где есть собственный батальон devOps`ов и администраторов, существует понятие "чистых программистов", которые занимаются непосредственно только кодингом, но реальность иная.
Андрей, все норм. Я же не видел всех компаний и структур. Сужу исключительно своим опытом. В любом случае, такой опыт не будет лишним никому из ИТ.
@@otfly просто дополнил мысль. Спасибо.
Спасибо, что думаете по поводу pm static? По идее должно дать максимальную производительность, т.к. не будет затрачиваться время на создание и удаление процессов
В целом - да, static может стать выигрышным вариантом при соблюдении как минимум условий:
- памяти достаточно, чтобы держать постоянно N процессов на готове.
- нагрузка на проект распределена равномерно и нет сильных пиков.
- "отзывчивость" (время отклика) для проекта более критично, чем память.
Мыслите верно, выбираемый вариант зависит от контекста и доступного железа. Static, dynamic, ondemand - любой из вариантов может подойти под определенный контекст. Тут нет однозначного простого ответа.
cool))
пи эйч пы 00:18
рАут...
@@MegaPushTV уже писал где то, что route читает как рут и раут в американском английском и британском по разному. Лучше использовать раут, чтобы не путать с root. Все верно.
@@АндрейШестаков-н6м я думал как рОут, так приятнее звучит)
@@MegaPushTV так точно не читается. Посмотрите транскрипции в американском и британском произношении.
Рут, бро, не раут
Введите на youtube запрос route pronunciation - в британском английском произносится действительно рут, но в американском раут.
Использую произношение route как раут намеренно, чтобы на русский слух не путать со словом root, которое тоже в программировании имеет свой смысл.
Как же режет ухо от «раут». Сударь, route читается как рут
Верно подметили, скорректируюсь =)
@@АндрейШестаков-н6м спасибо 🙏
а ещё root читается как рут
Спасибо!
Спасибо!