首页 > mysql pconnect长连接是这样理解吗?

mysql pconnect长连接是这样理解吗?

MySQL pconnect长久连接,是这样理解吗?
有三个用户A、B、C正在访问网站。如果开启了pconnect长连接的,那么:

第一种理解

A用户请求/index.php,/index.php连接mysql,返回到客户端浏览器。
B用户再去请求/index.php,那么是不是就直接用A用户连接到数据库的那个连接了
同理C用户也是这样用的同一个连接

第二种理解

A用户请求/index.php,暂停10分钟未有第二次请求
10分钟之后,再次请求/index.php,那么php使用数据库连接还是原先的那个。
且不管A用户之后请求该网站的任何其他PHP,PHP连接数据库都是用的一开始那个连接?
那时间是永久的?可以支撑多久?

同一时刻,B用户去请求/index.php,他重新开一个长久连接,与A用户开启的那个是不一样的

看php在web服务器上寄生状态是什么样的 如果是 nginx+phpcgi的方式 那么长连接 是由每个cgi程序自己保持的,和用户请求页面的地址无关,只要是数据库的ip和端口用户名不变则不会断开连接,即使用户请求一次页面之后 关闭页面 连接也会保持一定时间,有点像phpcgi 自己保持了一个连接池,可以在mysql 中用 show processlist 查看 。假如是apache的方式可能pconnect 和connect 是一样的。因为apache+module的方式 php的解析器等于每次都要重新初始化。


PHP 的不是很清楚,Python 对于 Mysql 数据库操作我做过实验。

测试了并发请求效率,第一种方案处理请求能力更强,Mysql 占用资源更小。

【热门文章】
【热门文章】