Производительность Sonata Admin для Symfony2 - PullRequest
2 голосов
/ 26 ноября 2011

Я новичок в Symfony2 и должен признать, что мне это нравится. Я начал играть с SonataAdmin, но вскоре появилось серьезное сомнение: это нормально, это занимает почти 3 секунды для загрузки страницы списка (с использованием пустой базы данных) ?? Я знаю, что в производстве я должен использовать APC или memcache, чтобы ускорить процесс, но мне кажется странным, что это занимает так много времени.

Я занимаюсь разработкой виртуальной машины с лампой под ключ (1 ГБ ОЗУ).

Мой компьютер довольно новый: Intel i3 8Gb ram.

Пожалуйста, скажите мне, что вы думаете / испытаете.

Спасибо.

1 Ответ

6 голосов
/ 27 ноября 2011

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

В производстве,Многое делается заранее, т. е. при развертывании на веб-сервере.Предварительная работа выполняется для того, чтобы избежать синтаксического анализа файлов, выполнения трудоемкой задачи и т. Д. По этой причине в производственной среде вы почти ничего не можете изменить, не выполнив php app/console clear:cache снова после выполнения модификации.Даже изменение одного шаблона Twig требует очистки кеша для обновления вывода, представленного конечному пользователю.

Я не тестировал этот пакет лично, но пакет администратора генератора должен проверить множество свойств и объектов для выполнения.его задача правильно.Это действительно требует много времени, но это требуется только в режиме разработки.В процессе производства этот процесс самоанализа не требуется, и информация, вероятно, где-то кэшируется.Это должно значительно повысить производительность в производственной среде, чем в среде разработки.

В итоге, я не думаю, что этот пакет страдает от проблем с производительностью, но это зависит от ваших потребностей и целей.Единственное, в чем я могу быть уверен: протестируйте его в производственном режиме, чтобы увидеть скорость, которую он вам даст в итоге.Очистите кэш для производственного режима и используйте app.php вместо app_dev.php.Кроме того, проверьте документацию по производительности , которую можно найти на сайте symfony.com.

php app/console cache:clear --env=prod --no-debug

Надеюсь, это поможет.

С уважением,Matt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...