Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 29.02.2016 11:21:48

Медленный автокомплит

Есть сайт, написан с использованием Laravel 4. На сайте крайне медленно работает автокомплит, где-то 230мс проходит между запросом и ответом. Сайты-конкуренты выдают 23-27мс, что почти в 10 раз быстрее. Поэтому ищу человека, который сможет разобраться в ситуации и решить проблему.


--
Дополнительно
Есть вероятность, что исполнителю будет ещё одна задача (конечно отдельно с отдельной оплатой) по проведению аналитики на тему "почему сайт тупит как пробка" с последующим решением.

Не в сети

#2 29.02.2016 11:35:29

Re: Медленный автокомплит

Ах да, тот кто согласится - напишите:
- цену работы за час (можно всё это дело в личку)
- когда сможете приступить
- какие-нибудь ссылки на github или резюме или проекты свои (лучше резюме, потому как там сразу всё описано и понятно)

Срок на исполнение задачи понятное дело определим когда получите сорцы.

Не в сети

#3 29.02.2016 12:39:10

Artdevue
Откуда: Kiev
Сообщений: 119
Сайт

Re: Медленный автокомплит

xxx44yyy пишет:

где-то 230мс проходит между запросом и ответом.

Думаю что от лары лучшего не стоит ожидать, по крайней мере от 4 и 5 (у тройки отклик был на порядок быстрее).
Но можно поиграться.
1) Проверьте что-бы был debug=true в app/config/app.php (или в директории локальной среды), так как если будет в false, то ничего кэшироваться не будет
2) После этого запустите

$ php artisan optimize

3) Поиграться с этим https://www.lutro.me/posts/optimizing-f … -laravel-4


If you think it’s expensive to hire a professional to do the job, wait until you hire an amateur.

Не в сети

#4 29.02.2016 12:43:13

Re: Медленный автокомплит

Artdevue пишет:
xxx44yyy пишет:

где-то 230мс проходит между запросом и ответом.

Думаю что от лары лучшего не стоит ожидать, по крайней мере от 4 и 5 (у тройки отклик был на порядок быстрее).
Но можно поиграться.
1) Проверьте что-бы был debug=true в app/config/app.php (или в директории локальной среды), так как если будет в false, то ничего кэшироваться не будет
2) После этого запустите

$ php artisan optimize

3) Поиграться с этим https://www.lutro.me/posts/optimizing-f … -laravel-4


Вот тут человек пишет, что добился 20ms в debug режиме. Поэтому надежда ещё есть smile Ну правда, 230мс - это очень много...

То, что вы описали, вроде как уже пробовали sad

Изменено xxx44yyy (29.02.2016 12:44:37)

Не в сети

#5 29.02.2016 12:49:25

Artdevue
Откуда: Kiev
Сообщений: 119
Сайт

Re: Медленный автокомплит

Мне если нужен отклик и проект массивный, то я использую фреймворк Phalcon, если удобства smile и скорость разработки, то Laravel.
Как говорят - под каждую задачу, свой инструмент.

Изменено Artdevue (29.02.2016 12:50:30)


If you think it’s expensive to hire a professional to do the job, wait until you hire an amateur.

Не в сети

#6 29.02.2016 13:19:50

Re: Медленный автокомплит

Artdevue пишет:

Мне если нужен отклик и проект массивный, то я использую фреймворк Phalcon, если удобства smile и скорость разработки, то Laravel.
Как говорят - под каждую задачу, свой инструмент.

Это да, но если у вас удобства и скорость разработки, а тут выяснилось,  что нужен отклик, то что тогда? smile

Не в сети

#7 29.02.2016 20:08:55

Artdevue
Откуда: Kiev
Сообщений: 119
Сайт

Re: Медленный автокомплит

xxx44yyy пишет:

Это да, но если у вас удобства и скорость разработки, а тут выяснилось,  что нужен отклик, то что тогда? smile

Оптимизировать, кэшировать, к примеру - конфиг

php artisan config:cache

удалить кэш

php artisan config:clear

Кэшировать маршруы (routes)

php artisan route:cache
php artisan route:clear

Как выше мы писали

php artisan optimize --force

Использовать драйвер сесии и кэша не файловый, к примеру Memcached

app/config/session.php
app/config/cache.php

Использовать кэширование запросов в БД, к примеру

Schema::create

или

$posts = Cache::remember('posts', 60, function()
{
  return DB::table('posts')->get();
});

и.т.д

Моё личное мнение, многие увлекаются роутерами типа

Route::controller('planets', 'PlanetsController');

, чего я не сильно приветствую, как по мне, обработка таких маршрутов дольше, так как в этом случае, будут сгенерированы такие маршруты:

GET|HEAD /planets/{one?}/{two?}/{three?}/{four?}/{five?} PlanetsController@getIndex
POST /planets/add/{one?}/{two?}/{three?}/{four?}/{five?} PlanetsController@postAdd
POST /planets/edit/{one?}/{two?}/{three?}/{four?}/{five?} PlanetsController@postEdit

поиграться с автозагрузкой.

Варианты, сделать спорткар с лимузина, думаю ничем хорошим не закончится, так как изначально нужно определиться - что нужно
хотя как я уже писал выше, что у Laravel с четвёртой версии, отклик не айс (там даже в hello word он будет такой, как вы привели изначально).
Последний вариант - выбрать другую платформу (предварительно проанализировав целесообразность, затратность и.т.д)

Это лично моё мнение.


If you think it’s expensive to hire a professional to do the job, wait until you hire an amateur.

Не в сети

#8 01.03.2016 02:23:50

duster
Откуда: Мельбурн
Сообщений: 148

Re: Медленный автокомплит

[quote=Artdevue]
Моё личное мнение, многие увлекаются роутерами типа [code]Route::controller(’planets’, ’PlanetsController’);[/code], чего я не сильно приветствую, как по мне, обработка таких маршрутов дольше, так как в этом случае, будут сгенерированы такие маршруты:
[/quote]

Увлекались — этот тип маршрутизации уже deprecated. Весь мир знает о его минусах ☺

Можно еще упомянуть апгрейд до PHP7 — он намного быстрее 5-ого работает.

Можно еще мигрировать на Lumen, если нет необходимости во всех фишках Laravel.

У меня за 16ms отдаются страницы (Laravel 5.2, PHP7). 230 — это жесть ☺

Не в сети

#9 01.03.2016 12:49:43

Re: Медленный автокомплит

duster пишет:

У меня за 16ms отдаются страницы (Laravel 5.2, PHP7). 230 - это жесть smile

А человек выше пишет, что это норм, хотя очень не согласен с этим.


Там кстати php5.5, laravel 4

Не в сети

#10 01.03.2016 12:51:54

Re: Медленный автокомплит

И ещё про маршруты:

5dc502f11b5b4ae4961fe43d9304883e.png

Не в сети

Подвал раздела