Laravel 5.5 время работы и рендер hello world = ~ 500 мс?

Доброго времени суток уважаемое сообщество!
Обратил внимание на время выполнения скрипта когда уже 30% работы выполнено около 500 мс
входные данные:
Laravel 5.5.31
php 7.1.6
os linux ubuntu 12
Решил проверить на echo 'hello world', все роуты закомментил и создал 1 замыкание:
Route::get('/', function () {
    return 'hello world';
});

Проблема во времени (Boot) загрузки фреймворка и во времени (Application) "отработки" так сказать:
5a60e1a31c12e936569049.png5a60e4a4110c1929992915.png
при APP_ENV как production так и local результат один.
Из установленных пакетов только debugbar (собственно из-за этой проблемы он и был установлен):
'providers' => [
        /*
         * Laravel Framework Service Providers...
         */
        Barryvdh\Debugbar\ServiceProvider::class,
...

на удаленном хостинге такая же картина.
Решил проверить на другом фреймворке (более менее мне знакомом):
Yii2:
5a60e6c1bb906621924634.png
Kohana:
5a60e987508d8600205598.png

Собственно вопрос:
Кто может подсказать что в чистом laravel 5.5 приложении можно отключить или оптимизировать что бы добиться ну хотя бы ~ 150 мс а в идеале < 100 мс хотя бы на вывод того же простого Hello World ?
Или подсказать в какую сторону копать...
  • Вопрос задан
  • 2106 просмотров
Решения вопроса 1
Alex_Wells
@Alex_Wells
PHP/Kotlin
composer dumpautoload
php artisan config:cache
php artisan route:cache
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@deadem
Дело в том, что в Ларавеле есть куча вещей, которые обычно нужны в больших проектах, и они сразу же включены "из коробки" для облегчения разработки. Поэтому для "hello world" результаты и будут примерно такого порядка.
https://medium.com/@taylorotwell/make-correct-comp...

Если нужно ускорить именно "hello world", то можно отключить мидлвари, авторизацию, сессии, очереди, или взять Люмен, который тот же Ларавель, но там почти всё это уже выключено, ибо он, как раз и нацелен на такие крошечные приложения.
Ответ написан
Комментировать
mashletov
@mashletov
Math.random()
Это расплата за плюшки. На любой запрос в ларе грузится не меньше 250 файлов. Для сравнения в Yii около 70. Сделать то, что написал Alex Wells. А также: включить opcache, использовать SSD. Или уйти с laravel.
Ответ написан
@springimport
Opcache и настройку памяти для php нужно делать в первую очередь. Во вторую - настройку mysql или другой базы. Разница может быть и на порядок.

Ну а вообще, вы наверное никогда не запускали magento 2. Там без кэша и прочего страницы могут грузиться по 10 секунд. И да, это не из-за непродуманных запросов к базе, просто там десятки тысяч файлов.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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