Andrey Helldar @Helldar
Senior PHP Developer
Information
- Rating
- Does not participate
- Location
- Россия
- Date of birth
- Registered
- Activity
Specialization
Backend Developer
Lead
From 350,000 ₽
PHP
MySQL
Git
OOP
Docker
Redis
SQL
Laravel
Elasticsearch
Senior PHP Developer
Ну вот. А у меня VPS c двумя ядрами и 4 RAM... И файлы в нём же на NVMe локальном.
А у прода какая конфигурация? Само железо?
Вдобавок, мои цифры указаны с расчётом клиентского запроса, то есть с компьютера через DNS и провайдеров в другую страну к серверу. Это честный запрос, т.к. мной рассматривается скорость отклика от сайта, а не производительность сервера.
Касательно производительности самого сервера, то при дефолтных настройках
ab
тест на RoadRunner показывал около 145 rps, а FrankenPHP около 250 rps. PHP-Fpm при этом не замерял.И, опять же, насколько замечаю тенденцию в комментариях, многие путают производительность сервера с отзывчивостью сайта.
Содержимое файла
.rr.yaml
Laravel Octane формирует самостоятельно, но при запущенном инстансе он выглядит так (копипаст с прода):Показать содержимое .rr.yaml
Также при старте создаётся ещё один файл -
storage/logs/octane-server-state.json
со следующим содержимым:Показать содержимое octane-server-state.json
При этом, в команде запуска октана можно указать лишь уровень логов параметром
--log-level
:Вполне возможно что и дохлые. у Вас 8к RPS в каких условиях выполнялись? С самого сервера на себя же? Или комп запроса с сервером в разных странах? И сервер на VPS с двумя защитами от дудоса - один от CloudFlare, а вторая от хостинга?
Кода там нет никакого кроме роута, который я выложил. Конфиг роадраннера тоже дефолтный и составляется самим Laravel Octane в момент его запуска. Руками в файл нельзя лазить иначе его можно запросто сломать и он не будет запускаться.
Да и урл создавал чисто для проверки, чтобы не на главную ломиться где сессии работают.
По сути, всё что Вам нужно сделать для запуска нового проекта под roadrunner, это выполнить эти команды:
И, либо в супервизор конфигурацию воткнуть, либо руками локально запустить:
Через htop не смотрел, не видел особого смысла, а у хостинга единый пик в статистике отображён:
Один из моих проектов через FPM отдавал данные примерно за 300-350 мс. С Октаном на RoadRunner возвращает примерно за 90-100мс.
Прогревом октан занимается при первом запросе к нему. Я проверял с точки зрения простейшего использования по принципу "установил зависимость - запустил фрейм - протестировал". Никаких улучшений и тонких настроек. Только дефолт. Только хардкор.
PHP-FPM медленнее работает, не стал его втягивать в эту передрягу. Но если интересно, в октябре прошлого года в другой среде тестировал и не на чистом проект. Результат был таким:
Октан был на RoadRunner.
Шутку понял. Смешно.
В данном контексте я говорил за админку, которая, по своей сути, является фреймворком. Тот же nuxt. Удобство использования измеряется в отношении конкретного продукта. Где-то он идеально подойдёт, а где-то будет мешать.
А бэкенд, конечно же, на фрейме Laravel. Здесь без вариантов 🙂
На прошлой работе CRM была написана на VueJs 2 с нуля и общалась с бэкендом по Rest API.
На текущей написан на React 18 и также общается с бэком по апи.
Оба варианта заточены под конкретные проекты, главной фишкой является отсутствие готовых фреймворков в их основе, что позволяет очень легко разрабатывать и поддерживать проект, включая мажорные апгрейды.
Но я бы не сказал что это прям CMS.
Как скажете :)
Если два живых примера не убедили, то на этом мои полномочия всё :)
Всё так. И одно дело когда разработчик сам такое толкает, и совсем другое когда фреймворк к этому подталкивает.
Разве? Далеко ходить не будем:
Логично? :)
В Ларе с этим есть проблемы. Статусом будет считаться число от 100 до 599 включительно. Всё остальное будет возвращено как тело ответа с кодом 200, а ещё
204
вернёт no content со статусом 204, а‘204’
- вернёт текст «204» со статусом 200 😀Обсуждения были в ветке с https://github.com/laravel/framework/pull/53663
Учитывая что англосаксы исчезли в начале 7-го века, добитые норманнами, а сейчас 21-й век во всю набирает ход.
А так да. Это не взаимоисключающие понятия и можно рассматривать с этой стороны в том числе. Но Вы правы, первым шаг к развитию должен сделать тот, у кого больше возможностей для этого. Жаль, что им выгоднее иметь тупое стадо, ведь, лишь тогда оно будет задавать меньше вопросов, если вовсе будет задавать...
Пока многие верят в такую дичь из-за своей неграмотности, такую фигню продолжат в новостях показывать…
Хм... Конституция... Знакомое слово... Не слышал о ней лет так 20 с хвостиком.
Уже кричат ¯\_(ツ)_/¯
Официально ютуб стал тормозить потому что железки гугла устарели.
Hidden text