2011-11-26 106 views
2

我是新来的Symfony2,我必须承认我很享受它。我开始与SonataAdmin玩,但很快一个大疑点蹦出来: 是再正常需要将近3秒加载的列表页(使用一个空数据库)?我知道在生产中我应该去APC或内存缓存加快的东西,但它看起来奇怪,我花费这么多时间。索纳塔管理员对Symfony2的性能

我正在开发使用交钥匙灯(1GB RAM)的虚拟机。

我的电脑相当新:Intel i3 8Gb ram。

请告诉我你的想法/经验。

谢谢。

回答

6

在开发环境中,很难衡量性能,因为框架和bundle有时需要解析大量配置文件,反省对象并执行耗时的任务并缓存输出。

在生产中,很多东西都是预先完成的,即当您部署到Web服务器时。这项工作的前期做是为了避免解析文件,做费时的工作,等等。这就是为什么在生产,你几乎不能没有再次运行php app/console clear:cache的修改已经完成后改变任何东西的原因。即使更改单个Twig模板,也需要清除缓存以更新呈现给最终用户的输出。

我没有亲自测试此包,但管理生成器包需要检查很多属性和对象才能正确执行其任务。这确实很耗时,但仅在开发模式下才需要。在生产时,这种自省过程不是必需的,信息可能会缓存在某处。这应该会让生产环境的性能比开发环境更好。底线,我不认为这个捆绑遭受性能问题,但这取决于您的需求和目标。我唯一能确定的就是:在生产模式下测试它,看它最终会给你带来的速度。清除您缓存的生产模式,并使用app.php代替app_dev.php。另外,请检查可在symfony.com上找到的文档performance

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

希望这会有所帮助。

问候,
马特

+0

是的,这有助于绝对。正是我在找的东西。 – user711643