【发布时间】:2016-12-30 07:58:36
【问题描述】:
我有一个使用 Symfony 2.8.14/Doctrine 构建的报告应用程序。我的一个报告大约需要 2 分钟才能运行并执行一系列查询 (https://dba.stackexchange.com/questions/157981/reporting-query-blocks-other-query-but-isolation-level-read-uncommitted-set/159495#159495)。
我发现锁定似乎发生在 Symfony 级别,因为如果我在报告运行时切换到 app_dev.php/ 或在命令行上运行 MySQL 查询,则可以加载相同的页面。
是否存在连接限制或其他我可能意外打开的锁定?
我的教义配置
# Doctrine Configuration
doctrine:
dbal:
default_connection: default
connections:
default:
driver: pdo_mysql
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
options:
1001: true
orm:
auto_generate_proxy_classes: "%kernel.debug%"
default_entity_manager: default
entity_managers:
default:
connection: default
naming_strategy: doctrine.orm.naming_strategy.underscore
mappings:
AppBundle: ~
FOSUserBundle: ~
errorlog:
connection: default
naming_strategy: doctrine.orm.naming_strategy.underscore
mappings:
AppBundle: ~
Apache2 配置 - mpm-itk
<IfModule mpm_itk_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150
MaxConnectionsPerChild 0
</IfModule>
不使用 cmets 中所述的 PHP-FPM,而是使用 mod_php:
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
我在 m4.2xlarge 上运行 MySQL 5.7.11,据此:http://pushentertainment.com/rds-connections-by-instance-type/ 允许 2500 多个连接。
【问题讨论】:
标签: php mysql symfony doctrine-orm doctrine