Задать вопрос

При выборе PHP фреймворка стоит ли обращать внимания на тесты скорости?

Делаю сайтеги!
Имею опыт написания на PHP на собственном "велосипед"ном MVC простеньком фреймворке и на Phalcon PHP.

Думаю перейти на Symfony или Laravel (ибо делаю сайты для клиентов и поддерживать сайты иногда приходится уже другим людям и разбираться в чуом коде для них не самое простое дело - хотябы по затратам времени)

Писал несколько раз на Phalcon PHP - скорость работы - супер, но надо устанавливать расширение PHP - а это иногда не просто....
Хочется всетаки давать клиенту возможность перенести сайт простым клоном файлов и БД на новый сервер. Ну и сообщество людей, владеющих Phalcon PHP в разы меньше чем теми же Symfony и Laravel...

Начал думать про то что Symfony более "правильный", а Laravel самый быстрый в разработке - но это пока отбросим...

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

Стоит ли обращать внимание на тесты скорости?
Или при правильном приготовлении любого из Laravel/Symfony скорость отработки движка будет незаметна и скорость будет зависеть только от скорость БД?

При условии, конечно, что я заюзаю Nginx + php_fpm, PHP 7.4, opcache и сервер на NVME дисках.

Просто тот же фалькон при запросе не грузит файлы ядра - они и так в памяти, а эти грузят вагон файлов(((
  • Вопрос задан
  • 652 просмотра
Подписаться 4 Простой 5 комментариев
Решения вопроса 5
inoise
@inoise Куратор тега PHP
Solution Architect, AWS Certified, Serverless
Имхо, бесполезная метрика. Давайте разберёмся почему.
Что нам даст данная метрика? Ничего. Бизнес-логика и сетевые издержки съедают куда больше и на их фоне производительность движка даже не заметна. А если вспомнить что проект состоит не только из кода так вообще смешно становится
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
В текущий момент поддерживаю достаточно большой проект на фалконе, который был написан до меня. Так вот, всем кто там дрочил на сишные либы фалкона, мое вам имхо, основаное на годе поддержки этого проекта:

1) Оно мегахреново переносится и очень криво становится на свежие системы. Корме того что половина гайдов по установке устарела, но все еще лежит на оф. сайте, гайды сообщества противоречат друг-другу, 90% из них не работает, а про некоторые дистрибутивы можете просто забыть, там они работать просто не будут.

2) Оно все работает as is и хрен ты посмотришь как работает родная вьюшка/конторллер "внутри", а доки не сказать чтобы хорошо описаны, комьюнити слабенькое, многие вещи сделаны спорно, а поправить или что-то подкрутить дело неблагодарное.

3) Теперь про самое интересное - скорость работы. Так вот, вся это мутотень про память и прочие плюшки на нормальном сервере не ощущается вообще, то есть переходя определенный предел мощности/вооруженности сервера скорость практически сравнялась с нативом (использовался ларавел и Уии на том же сервере, по замерам - плюс-минус то же по скорости, и чуть больше по памяти (центос, 64гб оперативы, 4 проца, нжинкс, пхп 7.2). Короче выгода была на ветке пхп 5.+, сейчас его актуальность практически равна нулю.

4) В моем случае по приходу сервер регулярно падал при "серьезной" нагрузке (20-30рпс), в чем я изначально предположил вину старых модулей фалкона, но по факту оказалось что 99% нагрузки вносили ожидания запросов к бд, некоторые из которых были по 7-15 минут, а некоторые куски кода создавали по 80+ запросов с 1 страницы, просто дозапрашивая какие-то данные для вьюшки в цикле. Предыдущий "кудесник" кормил руководство отмазками типа - "мало памяти, железо слабое, все плохо, а то бы летало...". "Магия плохого железа" закончилась после оптимизации запросов и доведения самых тяжелых до 0,5 секунды, а так же выборки всех данных в 1-2 запроса с нормальными джоинами.

5) Основной вопрос всегда сводится к жадности - взять что-то побыстрее из софта, сэкономив на хостинге/оборудовании. И оно всегда не работает так, по ряду факторов, которые достаточно очевидны.
Ответ написан
@balberbro
Глупый вопрос на самом деле:

Сейчас в пхп-мире среди фреймворков есть да выбора (Symfony/Laravel) - первый выбирают ребята покрупнее, второй выбират ребята поменьше. Есть еще Zend Framework но так в качестве поддержке легаси систем.

Так вот: скорость работы фреймворка - бессмысленный показатель. Ибо пока идет малая нагрузка - всем плевать. Когда нагрузка подрастает - докупают железо. Если железа получается уже очень много - то делают перфоманс анализ и правки. Если уже совсем все плохо, переписывают на Go. Смотри доклады ребят на php-конференциях от Баду, Авито и так далее.

Но все эти шаги делает максимум 1% от всех компаний, что юзает эти фреймворки, ибо 99% никогда не столкнется с такими нагрузками.

__

Ты лучше смотри так:

Symfony - Москва - зп мидла 140к плюс.
Laravel - Москва - зп мидла 120к плюс.
1С-Битрикс - Москва - зп мидла 80к плюс.

Собственно, как в фильме "Невероятное приключение Итальянцев в России" - Андрюша, ты хочешь заработать миллион?

Есть есть возможность выучить Symfony и лутать 140к, зачем учить условный phalconPhp и лутать 60-80к?
Ответ написан
Комментировать
Sanes
@Sanes
Соберите проект на 2х фреймворках и сравните. Кроме скорости еще надо принять во внимание удобство и затраченное время.


Думаю перейти на Symfony или Laravel (ибо делаю сайты для клиентов и поддерживать сайты иногда приходится уже другим людям и разбираться в чуом коде для них не самое простое дело - хотябы по затратам времени)

Laravel. Без вариантов.
Ответ написан
Комментировать
@necrodeflorator
С точки зрения производительности для "сайтегов" подойдёт почти любой фреймворк, узким местом действительно станет бд, но про грамотных запросах и индексах держать нагрузку будет.

До знакомства с magento2 мог сказать что вообще любой бери и юзай, но теперь, к сожалению, говорю почти любой
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
veshetu
@veshetu
web-dev
https://lumen.laravel.com/

Lumen.
The stunningly fast micro-framework by Laravel.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы