Я новичок в Symfony2, и я должен признать, что мне это нравится. Я начал играть с SonataAdmin, но вскоре появилось серьезное сомнение: нормально ли это занимает почти 3 секунды, чтобы загрузить страницу списка (используя пустую базу данных)? Я знаю, что в производстве я должен пойти на APC или memcache, чтобы ускорить работу, но мне кажется странным, что это занимает много времени.
Я разрабатываю с помощью виртуальной машины с лампой «под ключ» (1 ГБ оперативной памяти).
Мой компьютер довольно новый: Intel i3 8Gb RAM.
Скажите, пожалуйста, что вы думаете / переживаете.
Благодарю.
В среде разработки трудно измерить производительность, потому что в структуре и пакетах иногда нужно анализировать множество конфигурационных файлов, наследовать объекты и выполнять трудоемкую задачу и кэшировать вывод.
В производстве много всего сделано заранее, т.е. когда вы развертываете свой веб-сервер. Работа выполняется заранее, чтобы не анализировать файлы, выполнять много времени и т. Д. Именно по этой причине вы практически ничего не можете изменить, не запуская php app/console clear:cache
после внесения изменений. Даже изменение одного шаблона Twig требует, чтобы кеш был очищен, чтобы обновить вывод, представленный конечному пользователю.
Я не тестировал этот пакет лично, но пакет генератора админов должен проверять множество свойств и объектов для правильной работы его задачи. Это действительно требует много времени, но это требуется только в режиме разработки. В процессе производства этот процесс интроспекции не требуется, и информация, вероятно, кэшируется где-то. Это должно улучшить производительность в рабочей среде, чем в среде разработки.
Итог, я не думаю, что этот пакет страдает от проблемы с производительностью, но это зависит от ваших потребностей и целей. Единственное, на что я могу быть уверен: протестируйте его в режиме производства, чтобы увидеть скорость, которую он вам даст в конце. Очистите кеш для режима производства и используйте app.php
вместо app_dev.php
. Кроме того, проверьте документацию о производительности, которую можно найти на symfony.com.
php app/console cache:clear --env=prod --no-debug
Надеюсь это поможет.
С Уважением,
Matt