我们正在使用 PHP 5.3 和 pdo_dblib 连接到另一个机器上的 SQL Server 2008。
定期(一天中随机 10 次以上)我们会经历 3 分钟的时间段,所有 SQL Select 查询将需要 21.01 秒才能运行,无论查询如何。这是从 PHP 中计时的(在 DB 查询之前和之后)。
SELECT 语句的范围从具有优化的复杂连接到具有单个表和显式索引的语句。
如果在 PHP 请求期间,我们在关闭数据库连接之前执行三个 SELECT 语句,总时间将是 63.03 秒 (21.01 * 3)。这同样适用于 2 个语句(42.02 秒)。
使用 SQL Server 工具,我们跟踪这些脚本的实际执行时间在 0.01 到 0.45 秒之间,但这些差异似乎并未反映在整体延迟上(它始终固定在 21.01,而不是 21.46 等) .
我们似乎确实在这些延迟期开始时发现了 WinHTTP 代理触发的一些相关性,但我们已经禁用了 WinHTTP 代理,但没有任何解决方案。
有什么建议吗?