Загрузка активов Symfony очень медленная в разработке, и нужно решение для ее ускорения.

В настоящее время мы используем assets для загрузки всех наших активов, и это работает нормально. В среде разработки он загружает все ресурсы по отдельности, но довольно медленно. В продакшне он компилирует все активы в 1 файл, так что это очень быстро.

После некоторого чтения я обнаружил, что переключение use_controller (под assetic, в config_dev.php) на false немного ускоряет его; но тогда мы вынуждены запустить assetic:dump or assetic:watch.

Есть ли другие варианты? Должен быть более простой способ ускорить это. Можно ли заставить компилировать все файлы в 1 на dev, как и на prod?

Другой вариант, предложенный кем-то из нашей команды, заключался в том, чтобы иметь массив со всеми именами файлов и проверять, находимся ли мы в dev или prod. Если мы на dev, то просто запускаем массив и создаем элементы скрипта (вместо использования assets) — проблема, которую я видел в этом, заключается в том, что мы управляем массивным массивом, что кажется слишком большим накладным расходом для чего-то. с этим должно быть намного проще иметь дело.


person xil3    schedule 04.02.2016    source источник
comment
Какой ос вы пользуетесь? Я давно перешел с Windows с XAMPP на Centos с LAMP, и это невероятно быстрее. Я больше не хочу работать с окнами.   -  person Frank B    schedule 04.02.2016
comment
Я использую Ubuntu с LAMP   -  person xil3    schedule 04.02.2016
comment
Но должен быть способ отключить определенные активные функции, но по-прежнему загружать файлы. Казалось бы, такая простая вещь, но я ничего не могу найти.   -  person xil3    schedule 04.02.2016
comment
Убунту должно быть хорошо. Вы можете подумать о том, чтобы загрузить скомпилированный файл на работу, которую вы больше не хотите разрабатывать, и дополнительно скомпилировать один или несколько файлов, над которыми вы работаете.   -  person Frank B    schedule 04.02.2016


Ответы (1)


Вы можете установить assetic.debug в конфигурации на false, чтобы иметь один файл, как в производстве. Но вы должны использовать assetic:dump.

Если вам действительно нужна производительность и вы хотите использовать use_controller, попробуйте обновиться до PHP7, если не хотите. PHP7 ускорит ваши скрипты.

person Kevin Robatel    schedule 05.02.2016
comment
Спасибо - изменение отладки на false действительно помогло. Вместо этого я также использую assetic:watch (работает в фоновом режиме); поэтому мне не нужно постоянно беспокоиться о запуске дампа. - person xil3; 05.02.2016