我有一个关于PDO持久连接的问题。现在这可能不是一个实际的问题,但我似乎找不到任何关于这一行为的帖子。
我在web应用程序的持久连接模式中使用了好的旧PDO。现在,我正在通过new PDO(...)
创建一个新连接。
当我运行此脚本时,将建立一个新连接(C#1)和一个MySql进程(P#1)来容纳持久连接。
因此,我再次运行该脚本,创建一个新的连接( C#2 ),并期望C#2使用上次连接中的P#1。每次我运行此脚本时,都会出现一个新进程,而最后一个进程仍处于活动状态(处于睡眠模式)。
在我的生产服务器上,任何时候都有来自3个默认用户(所有用户都从同一个apache服务器连接)的350个prosser(处于睡眠状态)。
问题是:这种情况有效吗?
发布于 2014-08-14 22:43:47
找到我的答案了
它们使子进程在其整个生命周期中只连接一次,而不是每次处理需要连接到SQL server的页面时都连接。这意味着,对于每个打开持久连接的子节点,都将有其自己的到服务器的打开持久连接。例如,如果有20个不同的子进程运行与SQL服务器建立持久连接的脚本,那么就会有20个不同的连接到SQL服务器,每个子进程一个。
http://php.net/manual/en/features.persistent-connections.php
https://stackoverflow.com/questions/25288765
复制相似问题