我正在尝试优化我的Symfony应用程序表演,并遵循以下帖子:
- https://symfony.com/doc/2.8/performance.html
- Symfony2慢初始化时间
我对这些行感到"担心":
doctrine:
orm:
entity_managers:
default:
metadata_cache_driver: apc
query_cache_driver: apc
result_cache_driver: apc
他们是安全要使用还是在部署后必须小心处理?我正在用php app/console cache:clear --env=prod --no-debug
清除缓存,我是否也需要清除APC缓存?
是的,通常,部署后应清除APC缓存。但这取决于您自上次部署以来您更改了什么。
cache:clear
无法清除学说缓存。它仅清除您的高速缓存目录(Symfony 3 的var/cache/{env}
, app/cache
for 2.8):frameworkbundle/command/cacheclearcommand.php
因此,如果某些东西(例如您的实体)自上次部署以来,则应该清除部署后的缓存。
如果您手动部署,请运行以下命令,如果适用:
bin/console doctrine:cache:clear-query --env=prod
bin/console doctrine:cache:clear-result --env=prod
bin/console doctrine:cache:clear-metadata --env=prod
如果您更喜欢比后悔更好的安全,或者自动部署,请运行所有这些。
不幸的是,使用CLI无法清楚APC缓存。请参阅此答案或这个问题。作为替代方案,您可以重新启动Web服务器。