Хватит спрашивать у синьоров джуниорские вопросы на собеседованиях
Это крик души разработчика с 11-летним опытом, который устал от формальных, оторванных от реальности собеседований. Он не жалуется — он говорит правду, которую многие думают, но не озвучивают: вместо оценки реального опыта, мышления и навыков — проверяют память и подготовку к викторине.
Он не против технологий, не против сложности. Он против абсурдных требований помнить то, что в работе не используется, и того, что настоящий профессионал «гуглит» не потому что некомпетентен, а потому что не тратит мозг на запоминание справочников.
🔗 Хабр
Это крик души разработчика с 11-летним опытом, который устал от формальных, оторванных от реальности собеседований. Он не жалуется — он говорит правду, которую многие думают, но не озвучивают: вместо оценки реального опыта, мышления и навыков — проверяют память и подготовку к викторине.
Он не против технологий, не против сложности. Он против абсурдных требований помнить то, что в работе не используется, и того, что настоящий профессионал «гуглит» не потому что некомпетентен, а потому что не тратит мозг на запоминание справочников.
🔗 Хабр
1👍16❤8😁2
🧅 Onion: Механизм многоуровневой обработки для PHP-приложений
Onion — это легкий пакет, предназначенный для облегчения многоуровневой обработки данных в приложениях. Он обеспечивает чистый и эффективный способ укладки слоев функциональности, позволяя разработчикам создавать гибкие и многократно используемые компоненты, которые легко компоновать и управлять ими. Каждый слой может выполнять определенную операцию над передаваемыми данными, что упрощает построение сложных рабочих процессов, сохраняя при этом четкое разделение задач.
👉 Github
Библиотека пхпшника #инструменты
Onion — это легкий пакет, предназначенный для облегчения многоуровневой обработки данных в приложениях. Он обеспечивает чистый и эффективный способ укладки слоев функциональности, позволяя разработчикам создавать гибкие и многократно используемые компоненты, которые легко компоновать и управлять ими. Каждый слой может выполнять определенную операцию над передаваемыми данными, что упрощает построение сложных рабочих процессов, сохраняя при этом четкое разделение задач.
👉 Github
Библиотека пхпшника #инструменты
❤4
Правильный перезапуск Opcache после развертывания
Важно правильно перезагружать Opcache при деплое кода на сервер без использования контейнеров.
Opcache сохраняет старые версии файлов в кэше и не выбрасывает их автоматически. Поэтому, если новая версия кода деплоится в новую директорию, старые файлы остаются в кэше, занимая место и предотвращая сохранение новых файлов. Это приводит к необходимости постоянной перекомпиляции новых файлов, что снижает производительность.
Статья предлагает два решения проблемы:
1. Перезагрузка процесса «php-fpm» после деплоя новой версии кода. Однако, это решение приводит к прерыванию текущих запросов на короткое время.
2. Использование утилиты gordalina/cachetool или аналогичной, например, chop, для сброса кэша. Cachetool позволяет сбросить кэш без перезагрузки php-fpm, обнаруживая PHP-FPM через сокеты или IP-адрес и порт. Утилиту можно установить и использовать следующими командами:
Скачивание и установка:
Сброс кэша:
В случае использования других сокетов или IP-адресов и портов, команда выглядит так:
Важно правильно перезагружать Opcache при деплое кода на сервер без использования контейнеров.
Opcache сохраняет старые версии файлов в кэше и не выбрасывает их автоматически. Поэтому, если новая версия кода деплоится в новую директорию, старые файлы остаются в кэше, занимая место и предотвращая сохранение новых файлов. Это приводит к необходимости постоянной перекомпиляции новых файлов, что снижает производительность.
Статья предлагает два решения проблемы:
1. Перезагрузка процесса «php-fpm» после деплоя новой версии кода. Однако, это решение приводит к прерыванию текущих запросов на короткое время.
2. Использование утилиты gordalina/cachetool или аналогичной, например, chop, для сброса кэша. Cachetool позволяет сбросить кэш без перезагрузки php-fpm, обнаруживая PHP-FPM через сокеты или IP-адрес и порт. Утилиту можно установить и использовать следующими командами:
Скачивание и установка:
curl -sLO https://github.com/gordalina/cachetool/releases/latest/download/cachetool.phar
chmod +x cachetool.phar
Сброс кэша:
php cachetool.phar opcache:reset
В случае использования других сокетов или IP-адресов и портов, команда выглядит так:
php cachetool.phar opcache:reset --fcgi=/var/run/php/php8.2-fpm-profiler.sock
👍5
🚀 Главная ошибка новичка в ML — строить звездолёт вместо велосипеда
Многие сразу хотят свою Midjourney, но в итоге получают только выгорание.
Успех начинается с «велосипеда»: научитесь предсказывать цены или классифицировать отзывы. Освойте базу, а уже потом стройте «звездолёты».
Наш курс «ML для старта в Data Science» — это и есть тот самый правильный старт от простого к сложному.
👉 Начните правильно
Берёте курс «ML для старта» до конца недели — Python в подарок.
❗А 21 августа пройдет бесплатный вебинар с Марией Жаровой: узнаете, какие проекты качают скилл, а какие качают ваши нервы.
А какой самый сложный проект вы брались делать в самом начале? 🫢
Многие сразу хотят свою Midjourney, но в итоге получают только выгорание.
Успех начинается с «велосипеда»: научитесь предсказывать цены или классифицировать отзывы. Освойте базу, а уже потом стройте «звездолёты».
Наш курс «ML для старта в Data Science» — это и есть тот самый правильный старт от простого к сложному.
👉 Начните правильно
Берёте курс «ML для старта» до конца недели — Python в подарок.
❗А 21 августа пройдет бесплатный вебинар с Марией Жаровой: узнаете, какие проекты качают скилл, а какие качают ваши нервы.
А какой самый сложный проект вы брались делать в самом начале? 🫢
👾1
This media is not supported in your browser
VIEW IN TELEGRAM
Почему одним достаются крутые фичи, а вы — снова на багфиксе. Именно с такой историей пришёл к нам подписчик:
Работаю в команде больше года. Почти все ключевые и интересные задачи уходят к сеньорам. Мне достаются мелкие доработки, баги и то, что «надо кому-то сделать». Сначала думал, что это временно. Что делать, чтобы перейти на более серьёзный уровень и не застрять в рутине?
Если вы молча делаете своё и не выходите за рамки текущих задач, команду устраивает, что вы «надёжный исполнитель».
Хотите большего — начните показывать больше: идеи, инициативу, участие в обсуждениях, собственные предложения.
Даже если вы в команде давно — это не аргумент для роста. Важнее — насколько вы выросли профессионально, какой вклад вы создаёте, и готовы ли к задачам более высокого уровня.
Если вы хотите получить серьёзную задачу — приходите подготовленным: изучите фичу, продумайте архитектуру, обозначьте риски. Это сигнал: вам можно доверять.
💬 Что вы делали для того, чтобы взять задачку покруче? Делитесь опытом в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🔄 Команда дня: Обновление всех зависимостей до последних стабильных версий
📌 Команда:
Эта команда обновляет все зависимости проекта до последних стабильных версий, предпочитая скачивание архивов пакетов, что может быть быстрее и надёжнее.
🔍 Зачем это нужно?
Регулярное обновление зависимостей помогает поддерживать проект в актуальном состоянии, обеспечивая:
Исправление уязвимостей безопасности: Обновления часто включают исправления для известных уязвимостей.
Совместимость с новыми версиями PHP: Некоторые пакеты могут требовать обновлений для поддержки последних версий PHP.
Доступ к новым функциям и улучшениям производительности: Обновления могут включать новые возможности и оптимизации.
⚙️ Как это работает?
📦 Дополнительные флаги:
🧪 Пример использования:
Эта команда обновит все основные зависимости до последних стабильных версий, исключая зависимости для разработки.
⚠️ Важные замечания:
Проверка совместимости: Перед обновлением рекомендуется проверить, совместимы ли новые версии зависимостей с вашим проектом.
Резервное копирование: Перед выполнением обновлений сделайте резервную копию вашего проекта, чтобы в случае проблем можно было восстановить его состояние.
Тестирование: После обновления зависимостей обязательно выполните тесты, чтобы убедиться в корректной работе приложения.
Библиотека пхпшника #буст
📌 Команда:
composer update --prefer-dist
Эта команда обновляет все зависимости проекта до последних стабильных версий, предпочитая скачивание архивов пакетов, что может быть быстрее и надёжнее.
🔍 Зачем это нужно?
Регулярное обновление зависимостей помогает поддерживать проект в актуальном состоянии, обеспечивая:
Исправление уязвимостей безопасности: Обновления часто включают исправления для известных уязвимостей.
Совместимость с новыми версиями PHP: Некоторые пакеты могут требовать обновлений для поддержки последних версий PHP.
Доступ к новым функциям и улучшениям производительности: Обновления могут включать новые возможности и оптимизации.
⚙️ Как это работает?
composer update
: Обновляет все зависимости до последних версий, соответствующих ограничениям, указанным в composer.json
.--prefer-dist
: Предпочитает скачивание архивов пакетов вместо клонирования репозиториев Git, что может быть быстрее и надёжнее.📦 Дополнительные флаги:
--no-dev
: Не обновляет зависимости, указанные в секции require-dev
.--dry-run
: Показывает, какие изменения будут внесены, но не выполняет их.--with-all-dependencies
: Обновляет все зависимости, включая те, которые являются зависимостями других пакетов.🧪 Пример использования:
composer update --prefer-dist --no-dev
Эта команда обновит все основные зависимости до последних стабильных версий, исключая зависимости для разработки.
⚠️ Важные замечания:
Проверка совместимости: Перед обновлением рекомендуется проверить, совместимы ли новые версии зависимостей с вашим проектом.
Резервное копирование: Перед выполнением обновлений сделайте резервную копию вашего проекта, чтобы в случае проблем можно было восстановить его состояние.
Тестирование: После обновления зависимостей обязательно выполните тесты, чтобы убедиться в корректной работе приложения.
Библиотека пхпшника #буст
🥱6❤3👍1
🧠 Выбор первого ML-проекта: чеклист против выгорания
Классика плохих решений в ML — выбрать слишком сложный проект: неделя ковыряния в коде, десятки крашей и никакого результата. Хотите дойти до финиша — начните с простого проекта, который реально можно довести до конца.
Мини-чеклист первого проекта:
1. Понятные данные — без «я нашёл датасет в даркнете, но он на суахили».
2. Измеримая метрика — «точность 92%», а не «ну вроде работает».
3. Объяснимый результат — чтобы не-техлид понял, почему модель ругается на спам.
Наш курс «ML для старта в Data Science» — старт от простого к сложному: теория → практика → проверка → проект в портфолио.
👉 Начать свой путь в Data Science
Оплатите курс по ML до 17 августа — курс по Python в подарок.
📅 Бесплатный вебинар с Марией Жаровой — 21 августа: как выбирать проекты, которые доводят до оффера, а не до психотерапевта.
💾 Сохрани, чтобы не потерять, когда будешь готов(а) начать
Классика плохих решений в ML — выбрать слишком сложный проект: неделя ковыряния в коде, десятки крашей и никакого результата. Хотите дойти до финиша — начните с простого проекта, который реально можно довести до конца.
Мини-чеклист первого проекта:
1. Понятные данные — без «я нашёл датасет в даркнете, но он на суахили».
2. Измеримая метрика — «точность 92%», а не «ну вроде работает».
3. Объяснимый результат — чтобы не-техлид понял, почему модель ругается на спам.
Наш курс «ML для старта в Data Science» — старт от простого к сложному: теория → практика → проверка → проект в портфолио.
👉 Начать свой путь в Data Science
Оплатите курс по ML до 17 августа — курс по Python в подарок.
📅 Бесплатный вебинар с Марией Жаровой — 21 августа: как выбирать проекты, которые доводят до оффера, а не до психотерапевта.
💾 Сохрани, чтобы не потерять, когда будешь готов(а) начать
🧠 Оптимизация через обратный слэш в PHP — миф или реальность?
Опкод — промежуточное представление кода, которое исполняется Zend VM. PHP, как и Java, сначала транслирует код в опкоды. Только если Java сохраняет байткод в
⚠️ Проблема:
При вызове стандартных функций без обратного слэша (например,
💡 Решение:
Добавить
🔬 Бенчмарки:
Проведено сравнение двух версий кода — с бэкслешами и без:
Разница — 7%, или 40 наносекунд. Мизер? Да. Но в случае 1000+ вызовов — уже ощутимо. В контексте фреймворков, обрабатывающих сотни запросов в секунду, это может суммарно повлиять.
🛠️ Что делать:
• Включить в проекте
• Или приучиться добавлять
• Для любителей хардкора — реанимировать устаревший PHP_CodeSniffer с нестабильным плагином
📌 Вывод:
Это не про магию ускорения. Это микрооптимизация, и в большинстве случаев она не даст серьёзного прироста. Но она точно иллюстрирует, как работает PHP под капотом — и где теряется время.
🔗 Хабр
Библиотека пхпшника
Опкод — промежуточное представление кода, которое исполняется Zend VM. PHP, как и Java, сначала транслирует код в опкоды. Только если Java сохраняет байткод в
.class
, то PHP — нет. Для этого и существует OPcache.⚠️ Проблема:
При вызове стандартных функций без обратного слэша (например,
explode()
), PHP сначала пытается найти функцию в текущем пространстве имён. Это резолвинг — лишнее действие, которого можно избежать.💡 Решение:
Добавить
\
перед вызовами глобальных функций (\explode()
, \strlen()
и т.д.), тем самым указывая интерпретатору сразу на нужное пространство.🔬 Бенчмарки:
Проведено сравнение двух версий кода — с бэкслешами и без:
0.576μs → без бэкслешей
0.536μs → с бэкслешами
Разница — 7%, или 40 наносекунд. Мизер? Да. Но в случае 1000+ вызовов — уже ощутимо. В контексте фреймворков, обрабатывающих сотни запросов в секунду, это может суммарно повлиять.
🛠️ Что делать:
• Включить в проекте
PHP-CS-Fixer
с правилом native_function_invocation
• Или приучиться добавлять
\
вручную• Для любителей хардкора — реанимировать устаревший PHP_CodeSniffer с нестабильным плагином
📌 Вывод:
Это не про магию ускорения. Это микрооптимизация, и в большинстве случаев она не даст серьёзного прироста. Но она точно иллюстрирует, как работает PHP под капотом — и где теряется время.
🔗 Хабр
Библиотека пхпшника
👍5❤1
⚙️ Холивар: MVC — архитектура века или рудимент?
Сколько лет этому паттерну? Наверное, все начинали с MVC, но пришли ли мы к его пределу?
Зачем продолжать использовать его, если появляются новые подходы? Давайте разбираться!
🏢 MVC — классика и фундамент
Model-View-Controller — это основа для большинства фреймворков. Он помогает организовать код и разделить логику, представление и управление.
Плюсы:
Чистая структура: Логика разделена, что делает код более понятным и поддерживаемым.
Масштабируемость: Удобно работать с большими проектами, ведь ты всегда можешь отредактировать контроллер, не затронув модель или представление.
Множество инструментов и фреймворков: Все популярные фреймворки (Laravel, Symfony, Yii) базируются на этом паттерне.
Минусы:
Сложности при масштабировании: Если проект становится слишком большим, MVC может оказаться слишком жестким и ограничивающим.
Часто получается «заводной механизм»: Слишком много кода для простых задач. Например, в некоторых приложениях приходится создавать контроллеры для самых элементарных операций.
🚀 Альтернативы MVC: нужно ли оно в 2025 году?
MVVM (Model-View-ViewModel), CQRS, Hexagonal Architecture и другие подходы набирают популярность, особенно в микросервисах и крупных распределенных системах.
Доменное управление и Event-Driven подходы предполагают меньшую зависимость от чёткой структуры и большее внимание на бизнес-логику и взаимодействие сервисов.
Плюсы альтернатив:
Гибкость: Лучшие решения для микросервисов и приложений с большим числом пользователей.
Менее громоздко: Например, в современных front-end-фреймворках (React, Vue) уже нет четкого разделения MVC, а есть более простые и адаптивные подходы.
Минусы альтернатив:
Кривая обучения: Новые подходы сложнее для новичков и требуют больше времени на освоение.
Потеря очевидности: Пока MVC остаётся самым понятным и привычным, альтернативы могут усложнить структуру кода.
🤔 Когда стоит использовать MVC?
Если проект малый или средний, где тебе не нужно усложнять архитектуру, MVC по-прежнему отличный выбор.
Для больших проектов, где тебе важно разделить задачи и гибко расширять систему, можно
обратить внимание на более современные подходы.
💬 А что думаете вы?
MVC — это всё ещё ваша основная архитектура, или вы уже используете новые подходы и микросервисы?
Библиотека пхпшника #междусобойчик
Сколько лет этому паттерну? Наверное, все начинали с MVC, но пришли ли мы к его пределу?
Зачем продолжать использовать его, если появляются новые подходы? Давайте разбираться!
🏢 MVC — классика и фундамент
Model-View-Controller — это основа для большинства фреймворков. Он помогает организовать код и разделить логику, представление и управление.
Плюсы:
Чистая структура: Логика разделена, что делает код более понятным и поддерживаемым.
Масштабируемость: Удобно работать с большими проектами, ведь ты всегда можешь отредактировать контроллер, не затронув модель или представление.
Множество инструментов и фреймворков: Все популярные фреймворки (Laravel, Symfony, Yii) базируются на этом паттерне.
Минусы:
Сложности при масштабировании: Если проект становится слишком большим, MVC может оказаться слишком жестким и ограничивающим.
Часто получается «заводной механизм»: Слишком много кода для простых задач. Например, в некоторых приложениях приходится создавать контроллеры для самых элементарных операций.
🚀 Альтернативы MVC: нужно ли оно в 2025 году?
MVVM (Model-View-ViewModel), CQRS, Hexagonal Architecture и другие подходы набирают популярность, особенно в микросервисах и крупных распределенных системах.
Доменное управление и Event-Driven подходы предполагают меньшую зависимость от чёткой структуры и большее внимание на бизнес-логику и взаимодействие сервисов.
Плюсы альтернатив:
Гибкость: Лучшие решения для микросервисов и приложений с большим числом пользователей.
Менее громоздко: Например, в современных front-end-фреймворках (React, Vue) уже нет четкого разделения MVC, а есть более простые и адаптивные подходы.
Минусы альтернатив:
Кривая обучения: Новые подходы сложнее для новичков и требуют больше времени на освоение.
Потеря очевидности: Пока MVC остаётся самым понятным и привычным, альтернативы могут усложнить структуру кода.
🤔 Когда стоит использовать MVC?
Если проект малый или средний, где тебе не нужно усложнять архитектуру, MVC по-прежнему отличный выбор.
Для больших проектов, где тебе важно разделить задачи и гибко расширять систему, можно
обратить внимание на более современные подходы.
💬 А что думаете вы?
MVC — это всё ещё ваша основная архитектура, или вы уже используете новые подходы и микросервисы?
Библиотека пхпшника #междусобойчик
❤6
😎 Вы просили — мы сделали. Самый долгожданный анонс этого лета!
Мы открываем набор на второй поток курса «AI-агенты для DS-специалистов»!
На курсе мы учим главному навыку 2025 года: не просто «болтать» с LLM, а строить из них рабочие системы с помощью Ollama, RAG, LangChain и crew.ai.
📆 Старт потока — 15 сентября.
💸 Цена 49 000 ₽ действует только в эти выходные — до 17 августа. С понедельника будет дороже.
👉 Занять место
Мы открываем набор на второй поток курса «AI-агенты для DS-специалистов»!
На курсе мы учим главному навыку 2025 года: не просто «болтать» с LLM, а строить из них рабочие системы с помощью Ollama, RAG, LangChain и crew.ai.
📆 Старт потока — 15 сентября.
💸 Цена 49 000 ₽ действует только в эти выходные — до 17 августа. С понедельника будет дороже.
👉 Занять место
❤1🥱1
💻 Подборка новостей по PHP за неделю:
🔹 Featurevisor PHP SDK — интеграция Featurevisor в PHP-бэкенды без привязки к конкретному фреймворку, включая Laravel, CakePHP, Symfony и др.
🔹 Filament v4 — стабильный релиз с улучшенной скоростью, UX и новыми возможностями; ключевую роль сыграло сообщество, активно тестировавшее бета-версии.
🔹 Laravel Boost — новый AI-стартер-кит для ускорения разработки, презентован Тейлором Отвеллом на Laracon US; возглавляет проект Эшли Хайндл.
🔹 Livewire 4 — Калеб Порцио представил полностью переработанную версию с упрощённым API и улучшенной производительностью.
🔹 Symfony 4–10 августа 2025 — миграция на PHPUnit 12 в ветке 7.4, отказ от аннотаций в пользу атрибутов, обновлён дамп контейнера без зависимости от PHP XML extension.
Библиотека пхпшника
#свежак
🔹 Featurevisor PHP SDK — интеграция Featurevisor в PHP-бэкенды без привязки к конкретному фреймворку, включая Laravel, CakePHP, Symfony и др.
🔹 Filament v4 — стабильный релиз с улучшенной скоростью, UX и новыми возможностями; ключевую роль сыграло сообщество, активно тестировавшее бета-версии.
🔹 Laravel Boost — новый AI-стартер-кит для ускорения разработки, презентован Тейлором Отвеллом на Laracon US; возглавляет проект Эшли Хайндл.
🔹 Livewire 4 — Калеб Порцио представил полностью переработанную версию с упрощённым API и улучшенной производительностью.
🔹 Symfony 4–10 августа 2025 — миграция на PHPUnit 12 в ветке 7.4, отказ от аннотаций в пользу атрибутов, обновлён дамп контейнера без зависимости от PHP XML extension.
Библиотека пхпшника
#свежак
❤2
Forwarded from Библиотека задач по PHP | тесты, код, задания
Что произойдёт на PHP 8.3?
Anonymous Quiz
23%
Выведет 123
59%
Fatal error: несовпадающий тип
9%
Notice, выведет 123
9%
Выведет "123"
🌚14
🫣 Хотите в Data Science, но боитесь высшей математики?
Хорошая новость: вам не нужно становиться математиком. Вам нужно освоить конкретные разделы, которые реально используются в работе и на собеседованиях.
Именно этому учат преподаватели ВМК МГУ на нашем курсе «Математика для Data Science».
Без лишней воды — только то, что нужно для:
✅ успешного поступления в ШАД Яндекса;
✅ прохождения собеседований уровня FAANG;
✅ глубокого понимания ML-алгоритмов.
Это самый прямой путь к математическому фундаменту, на котором строится вся карьера в Data Science.
👉 Начните строить свою карьеру уже сегодня
Хорошая новость: вам не нужно становиться математиком. Вам нужно освоить конкретные разделы, которые реально используются в работе и на собеседованиях.
Именно этому учат преподаватели ВМК МГУ на нашем курсе «Математика для Data Science».
Без лишней воды — только то, что нужно для:
✅ успешного поступления в ШАД Яндекса;
✅ прохождения собеседований уровня FAANG;
✅ глубокого понимания ML-алгоритмов.
Это самый прямой путь к математическому фундаменту, на котором строится вся карьера в Data Science.
👉 Начните строить свою карьеру уже сегодня
🔥 Последняя неделя, чтобы забрать курс по AI-агентам по старой цене!
Пока вы тестируете Copilot, другие уже учатся строить AI-агентов, которые реально работают на бизнес. Хватит отставать!
Наш курс — это концентрат практики по LangChain и RAG. Улучшенная версия, доработанная по отзывам первого потока.
📆 Старт — 15 сентября.
💸 Цена 49 000 ₽ — только до 24 августа.
👉 Зафиксировать цену
Пока вы тестируете Copilot, другие уже учатся строить AI-агентов, которые реально работают на бизнес. Хватит отставать!
Наш курс — это концентрат практики по LangChain и RAG. Улучшенная версия, доработанная по отзывам первого потока.
📆 Старт — 15 сентября.
💸 Цена 49 000 ₽ — только до 24 августа.
👉 Зафиксировать цену
😁1
This media is not supported in your browser
VIEW IN TELEGRAM
PHP TUI
Фреймворк для создания консольных приложений на PHP с псевдографическим пользовательским интерфейсом.
🔗 Github
Библиотека пхпшника
#инструменты
Фреймворк для создания консольных приложений на PHP с псевдографическим пользовательским интерфейсом.
🔗 Github
Библиотека пхпшника
#инструменты
👍10
🚀 Тюнинг производительности PHP-FPM
Правильная настройка PHP-FPM имеет решающее значение для эффективного использования ресурсов сервера. Вот несколько ключевых параметров для оптимизации производительности:
🔧 Основные параметры:
pm = dynamic
Управляет количеством рабочих процессов. В режиме
pm.max_children = 1000
Максимальное количество рабочих процессов. Высокие значения могут привести к ошибкам из-за нехватки памяти. Пример: для 1000 процессов × 100MB/процесс потребуется 100GB RAM.
pm.start_servers = 80
Количество процессов, которое будет запущено при старте PHP-FPM для быстрой обработки начальной нагрузки.
pm.min_spare_servers = 40
Минимальное количество «запасных» процессов, которые должны оставаться в ожидании.
pm.max_spare_servers = 120
Максимальное количество неактивных процессов. Если их больше, лишние процессы будут завершаться.
request_terminate_timeout = 300s
Ограничение времени для запроса — если выполнение длится более 5 минут, процесс будет завершен.
request_slowlog_timeout = 5s
Все запросы, которые выполняются более 5 секунд, записываются в лог для анализа производительности.
📊 Рекомендации:
Для серверов с меньшим объёмом памяти, например 8GB RAM, настройте:
Эти настройки обеспечат баланс между производительностью и безопасностью, сохраняя ресурсы для других служб.
👉 Поделитесь этим постом с коллегами!
🔗 Ссылка на статью
Библиотека пхпшника
Правильная настройка PHP-FPM имеет решающее значение для эффективного использования ресурсов сервера. Вот несколько ключевых параметров для оптимизации производительности:
🔧 Основные параметры:
pm = dynamic
Управляет количеством рабочих процессов. В режиме
dynamic
количество процессов изменяется в зависимости от нагрузки сервера.pm.max_children = 1000
Максимальное количество рабочих процессов. Высокие значения могут привести к ошибкам из-за нехватки памяти. Пример: для 1000 процессов × 100MB/процесс потребуется 100GB RAM.
pm.start_servers = 80
Количество процессов, которое будет запущено при старте PHP-FPM для быстрой обработки начальной нагрузки.
pm.min_spare_servers = 40
Минимальное количество «запасных» процессов, которые должны оставаться в ожидании.
pm.max_spare_servers = 120
Максимальное количество неактивных процессов. Если их больше, лишние процессы будут завершаться.
request_terminate_timeout = 300s
Ограничение времени для запроса — если выполнение длится более 5 минут, процесс будет завершен.
request_slowlog_timeout = 5s
Все запросы, которые выполняются более 5 секунд, записываются в лог для анализа производительности.
📊 Рекомендации:
Для серверов с меньшим объёмом памяти, например 8GB RAM, настройте:
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
Эти настройки обеспечат баланс между производительностью и безопасностью, сохраняя ресурсы для других служб.
👉 Поделитесь этим постом с коллегами!
🔗 Ссылка на статью
Библиотека пхпшника
👍16