我使用的是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:
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 :(得分:0)
这是解密中的问题。我们对数据库中的一些数据使用enycription。因此,当调用EventListener时发生解密时,它确实会减慢进程。为了解决这个问题,我们没有通过实体获取数据(但是作为数组),因此事件监听器没有被调用。
PS:工作缓慢与升级无关。
PS2:仍然存在Redis问题。