Nan*_*com 8 performance render symfony twig
就像在本主题中一样,在我的应用程序中添加twig"render"标记时,我在开发模式下遇到性能问题(相关文档:嵌入控制器).
如果没有此渲染标记,我的页面将在不到70毫秒的时间内生成.使用渲染标记,它至少为170毫秒.并且在应用程序中添加的每个渲染标记都会使页面生成增加100毫秒(这很多:为什么普通页面在60毫秒内运行,渲染标记在100毫秒内运行?).我可能在我的应用程序的每个页面上需要4或5个,因此这意味着在开发模式下每个页面至少需要500毫秒.
我完全理解产品模式没有问题,但在开发中显然不太舒服.那么,在开发模式下使用"render"标签时,是否有人知道如何摆脱任何无用的调用,日志或代码?
symfony中我最喜欢的一个功能是渲染标记,嵌入控制器调用.分析器为每个控制器调用增加了很多开销,不仅速度快,而且占用大量内存.你有几个选择来加快它.
默认情况下,探查器将每个数据写入sqlite数据库.IIRC sqlite不允许并行插入,因此每个请求都必须等待轮到他们访问db来刷新数据收集器.您可以使用开发db(mysql或其他任何用途)来保存探查器数据.一年前,我在速度方面获得了很多.
您还可以为子请求禁用探查器,或仅在发生异常时使用探查器.有关完整详细信息,请参阅框架配置参考.
# config_dev.yaml
framework:
profiler:
only_exceptions: false
only_master_requests: false
dsn: sqlite:%kernel.cache_dir%/profiler.db
Run Code Online (Sandbox Code Playgroud)