1

我有一个关于 PDO 持久连接的问题。现在这可能不是一个实际问题,但我似乎找不到任何解决此行为的帖子。

我正在为我的 Web 应用程序以持久连接模式使用良好的旧 PDO。现在我正在通过new PDO(...).

当我运行此脚本时,正在建立一个新连接 (C#1) 和一个 MySql 进程 (P#1) 以适应持久连接。

因此,我再次运行该脚本,创建一个新的连接 (C#2) 并期望 C#2 使用上一个连接中的 P#1。每次我运行此脚本时,都会出现一个新进程,而最后一个进程仍处于活动状态(处于睡眠模式)。

在我的生产服务器上,在任何给定时间,大约有 350 个 prosser(处于睡眠状态)来自 3 个 defrent 用户(所有用户都从同一个 apache 服务器连接)。

问题是:这种情况有效吗?

4

1 回答 1

0

找到了我的答案

它们导致子进程在其整个生命周期内仅连接一次,而不是每次处理需要连接到 SQL 服务器的页面时。这意味着每个打开持久连接的子节点都将拥有自己的到服务器的打开持久连接。例如,如果您有 20 个不同的子进程运行一个与您的 SQL 服务器建立持久连接的脚本,那么您将有 20 个与 SQL 服务器的不同连接,每个子进程一个。

http://php.net/manual/en/features.persistent-connections.php

于 2014-08-14T14:43:46.807 回答