2014-10-20 42 views
1

我使用Symfony 2.3和Doctrine ORM 2.4。 更新後 Symfony爲2.6和Doctrine ORM爲2.5,刷新操作爲真的很慢。我發現問題出在功能computeChangeSets()UnitOfWork。 在生產系統上,我使用redis進行教條緩存,並且還收到了錯誤RedisException "Redis server went away"。如果我檢查控制檯,redis服務器正在工作。在config.yml更新後沖洗緩慢(Doctrine ORM + Symfony 2)

我dev的設置:

doctrine: 
    dbal: 
     default_connection: default 
     connections: 
      default: 
       driver:   %database_driver% 
       driver_class: %database_driver_class% 
       host:   %database_host% 
       port:   %database_port% 
       dbname:   %database_name% 
       user:   %database_user% 
       password:  %database_password% 
       options:  %database_options% 
      admin: 
       driver:   pdo_pgsql 
       host:   %database_host% 
       port:   %database_port% 
       dbname:   %database_name% 
       user:   %database_user% 
       password:  %database_password% 
       options:  %database_options% 
    orm: 
     auto_generate_proxy_classes: %kernel.debug% 
     default_entity_manager: default 
      default: 
       entity_listener_resolver: %entity_listener_resolver% 
      admin: 
       connection: admin 

及製作:

doctrine: 
    orm: 
     entity_managers: 
      default: 
       metadata_cache_driver: redis 
       query_cache_driver:  redis 

回答

0

它是解密的問題。我們對數據庫中的一些數據使用enycription。所以,當EventListener被調用時解密發生時,真的會減慢進程。爲了解決這個問題,我們沒有通過實體獲取數據(但是作爲數組),所以事件監聽器沒有被調用。 PS:慢工作與升級無關。

PS2:Redis問題仍然存在。