gpt4 book ai didi

php - Propel - 多连接性能

转载 作者:行者123 更新时间:2023-11-30 01:22:51 25 4
gpt4 key购买 nike

我的 php 项目基于两个独立的数据库。一种是 MySQL DB,另一种是 Microsoft SQL-server。基本上我已经配置了整个环境并且它几乎可以正常工作。

几乎,因为我在尝试访问两个数据库时注意到一些糟糕的性能。

由 propel 生成的我的数据库配置如下所示:

$conf = array (
'datasources' =>
array (
'db1' =>
array (
'adapter' => 'sqlsrv',
'connection' =>
array (
'dsn' => 'sqlsrv:server=SERVER_NAME\\SQLEXPRESS;Database=db1',
'user' => 'user1',
'password' => 'password1',
),
),
'db2' =>
array (
'adapter' => 'mysql',
'connection' =>
array (
'dsn' => 'mysql:host=localhost;dbname=db2',
'user' => 'user2',
'password' => 'password2',
'settings' =>
array (
'charset' =>
array (
'value' => 'utf8',
),
),
),
),
'default' => 'db1',
),
'log' =>
array (
'ident' => 'my_id',
'type' => 'file',
'name' => './../application/logs/propel.log',
'level' => '7',
'conf' => '',
),
'generator_version' => '1.6.7',
);

我检查了 propel.log,但我注意到那里只记录了来自 db1 的查询。所以我使用我自己的文本文件日志类来记录响应时间。每当我尝试从 db2 获取数据时,响应时间都在 1 秒左右,这是 Not Acceptable 。

之后我尝试单独处理 db2,相同的查询花费了大约 0.07 秒!所以我认为 propel 在切换连接时会导致延迟。

我进行了第二次测试 - 我已在 propel 配置中将 db2 设置为默认值。当我这样做时,来自 db2 的查询执行得更快(同样 - 相同的查询 0.07 秒)。

这是正常行为吗?使用多个数据库是否总是会导致性能问题?

无论如何,是为了让它更快吗?

预先感谢您的帮助。如果需要,我非常乐意提供一些额外的详细信息。

最佳答案

找到了解决方案。这是完全不同的原因:http://www.iishacks.com/2013/02/18/mysql-connection-response-slow-on-windows-2008-2012/

抱歉浪费了您的时间。

关于php - Propel - 多连接性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18357698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com