Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Господа, всем привет!
Я новичек в Laravel, начинаю его изучение уже около 3 месяцев и он мне нравиться. А начал я его изучение с самого простого, т.е. взять и простенькое своё приложение перевести на Laravel4. Вроде сделал, удалось, все хорошо, кучу мануалов перечитал. Все замечательно, но есть 1 большое НО. И очень прошу ВАШЕЙ ПОМОЩИ
Проблема. Устанавливаю Laravel4 через composer
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
"laravel/framework": "4.2.*"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable"
Иду в самый базовый свой контроллер и там ставлю exit(). И просто смотрю, сколько будет выполняться код до самой этой точки. И скажу что он плавает от 65 до 120 ms. Для меня это большой КРАХ. Тот код, на котором у меня было написано приложение(мобильная версия) целиком все стр отдает от 40-55ms. А тут только до базового контроллера доходит За ЭТО ВРЕМЯ, если не больше ((
Так вот вопрос, можно ли как-то или что-то поотключать в Laravel, произвести какие-то настройки? Т.е. ускорить его загрузку до базового контроллера?
Для себя я лишь использую model,view,controller,router.Все, больше ничего не трогаю, т.к. приложение СУПЕР ПРОСТОЕ - возьми из бд и покажи на страничку. Ни форм, ни логов - ничего этого нет.
Очень прошу вашей помощи в этом вопросе.
Надеюсь я смог описание саму проблему.
Этот вопрос волнует многие умы уже довольно давно - почитай https://stackoverflow.com/questions/232 … -this-slow
В двух словах, торможение может быть из-за включенного режима отладки (debug bar, профилирование запросов и пр.) из-за криво настроенной среды (если используется Vagrant) и разных других вещей. Советую попробовать перевести проект в производственный режим и посмотреть, как изменится скорость работы. Можно даже на "настоящий" хостинг загрузить, заодно потренируешься. Обычно скорость повышается в разы и становится нормальной.
Однако при всём этом надо понимать, что сам по себе Laravel (и Symfony) - тяжёлые фреймворки и ожидать от них скорости каких-то более простых фреймворков не стоит. Тут обычно выбирают между скоростью разработки и скоростью работы. Час машины стоит дешевле часа человека.
Не в сети
Если нужен супербыстрый ответ при минимуме кода в приложении - то, может, лучше взять инструмент под эту задачу ? Например, http://phalconphp.com/ - быстрее него нет ничего в php-мире. Или вообще перейти на другой стек технологии, node.js например.
У меня совершенно стандартное неоптимизированное приложение Laravel 4.2 с одним sql-запросом генерит страницу за 25ms - на самой дешевой пятибаксовой vps у digitalocean. 65 - 120мс это на винде ?
Не в сети
Не в сети
Этот вопрос волнует многие умы уже довольно давно - почитай https://stackoverflow.com/questions/232 … -this-slow
В двух словах, торможение может быть из-за включенного режима отладки (debug bar, профилирование запросов и пр.) из-за криво настроенной среды (если используется Vagrant) и разных других вещей. Советую попробовать перевести проект в производственный режим и посмотреть, как изменится скорость работы. Можно даже на "настоящий" хостинг загрузить, заодно потренируешься. Обычно скорость повышается в разы и становится нормальной.
Однако при всём этом надо понимать, что сам по себе Laravel (и Symfony) - тяжёлые фреймворки и ожидать от них скорости каких-то более простых фреймворков не стоит. Тут обычно выбирают между скоростью разработки и скоростью работы. Час машины стоит дешевле часа человека.
Большое спс за ссылку и описание возможного решения, буду пробывать. Что касается среды - то ничего кривого, все дело лежит на серваке (хостинг jino.ru) и там тестирую (apache). Т.е. тут никакая не винда и никакой не xampp а так сказать уже полностью боевые условия...
Если нужен супербыстрый ответ при минимуме кода в приложении - то, может, лучше взять инструмент под эту задачу ? Например, http://phalconphp.com/ - быстрее него нет ничего в php-мире. Или вообще перейти на другой стек технологии, node.js например.
У меня совершенно стандартное неоптимизированное приложение Laravel 4.2 с одним sql-запросом генерит страницу за 25ms - на самой дешевой пятибаксовой vps у digitalocean. 65 - 120мс это на винде ?
Мое самописное приложение просто летает 45-55ms любая стр. Но вот решил изучить laravel4 и переписал приложение на него(в контроллере грубо говоря 1-2 запроса в бд и вывод через blade на экран) и вот это дело до 200ms порою доходит (
Когда просто в самом базовом контроллере ставлю exit - то как показывает consol firefox - запрос идет 55-120 ms ((
И это на боевых условиях.Хостинг jino.ru, стоит apache
}%> 65 - 120мс это на винде ?
При разработке под Windows/XAMPP это нормально, у меня вообще 200-300 мс бывает.
Это уже на боевой среде, на хостинге
Насколько я помню, jino.ru — это shared-хостинг, Laravel/Symfony едва ли предназначен для такого. Там даже с настройкой DocumentRoot могут быть проблемы, чтобы не держать php-скрипты в корне сайта.
slider23 говорил о VPS — возьмите его, он млао того, что намного мощнее, так иногда и дешевле shared. Надо с настройкой повозиться, подучить основы *nix, но оно себя оправдает. Можно найти и российских реселлеров/ДЦ, для этого есть хороший ресурс poiskvps.ru.
Не в сети
}%Насколько я помню, jino.ru - это shared-хостинг, Laravel/Symfony едва ли предназначен для такого. Там даже с настройкой DocumentRoot могут быть проблемы, чтобы не держать php-скрипты в корне сайта.
**slider23** говорил о VPS - возьмите его, он млао того, что намного мощнее, так иногда и дешевле shared. Надо с настройкой повозиться, подучить основы *nix, но оно себя оправдает. Можно найти и российских реселлеров/ДЦ, для этого есть хороший ресурс ((https://poiskvps.ru/ poiskvps.ru)).
Очередное огромное спасибо за содействие в решении проблемы. Буду енспеша переходить к VPS, какие результаты там покажет себя laravel - могу сюда отписать в дальнейшем, если Вам это будет интересно. Можно считать, что проблему решили. Будем переходить на vps
Я хочу еще предупредить, что не все vps одинаковы. Если взять таковую на каком-нить firstvps , то тормозить все может так же. Digitalocean так быстро работает, потому что там хорошие современные сервера и ssd-диски.
Вообще, я не особо понимаю гонки за супербыстрым откликом - в реальном приложении все равно основное время будет занимать sql-запросы, пользователь лишних 100мс от laravel просто не заметит.
Не в сети
- могу сюда отписать в дальнейшем, если Вам это будет интересно.
Пишите, конечно, людям будет полезно.
- Если взять таковую на каком-нить firstvps, то тормозить все может так же. Digitalocean так быстро работает, потому что там хорошие современные сервера и ssd-диски.
И опять же не всё однозначно, так как у FirstVDS ДЦ в Москве, а у DO — в Европе, и задержка может быть больше, чем тормоза от VPS (кстати, у меня самого там был VPS с 2006 и ничего, для средненагруженных сайтов — вполне, 150 руб/месяц). Сейчас, правда, на них переходить не советую, так как они отключили у себя бесплатную поддержку и даже по организационным вопросам очень сложно до них достучаться.
- пользователь лишних 100мс от laravel просто не заметит.
Если бы не замечал, то CDN не были бы так популярны. ИМХО, сейчас у очень большой части пользователей оптоволокно, а на нём 200-300 мсек заметны «на глаз». Ну, и опять же гонки производителей браузеров за лишние миллисекунды при выполнении JS/отображении страницы тоже не на пустом месте.
Не в сети
Страницы 1