使用Symfony2表单组件的性能问题

时间:2012-05-29 09:04:50

标签: performance forms symfony

我使用Symfony2 Form Component遇到性能问题, 我正在使用此组件创建一个包含300个复选框的表单。此表单必须灵活(应使用给定数据树在SET_DATA事件上创建复选框。 我也在使用Subscribers使我的表格变得灵活。

问题:

  • 表单生成平均花费900毫秒(这是给定输入大小的大量时间)
  • 绑定我的表单花费更多时间(平均1秒)

假设:

  • propertyPathMapper花费了太多时间来创建路径并寻找合适的路径来获取验证时的错误消息。

我的问题:

  • 在PropertyPath问题的情况下,您知道如何解决它吗?如果不是,关于如何优化表单的任何想法?

我们的守则:

我创建了一个github Gist> https://gist.github.com/2867617

  • data.array是我们用来生成搜索表单的数据格式。 (树可以有许多子级别,并且是从我们的数据库创建的)
  • SearchType.php是我们的主要搜索类型
  • 我们正在使用的其他类正在帮助我们迭代并生成所有搜索条件元素。

PS:我们使用的是Syndfony2的2.0.15版本,

谢谢,

1 个答案:

答案 0 :(得分:1)

  • 您可以通过使用Memcache缓存生成的表单html来解决第一个问题。请记住在保存表单后使缓存索引无效。
  • 关于第二个问题使用分析器检查花了多长时间,这可能是Doctrine水合问题。