我有一个回调的API,它把我的服务器上请求工作的聊天机器人每次有人写留言
最近,我读了所谓的持久连接,这使我觉得我能避免每次我得到我的服务器上请求重新连接到数据库,因为数据库加载需要一些时间,我想,以加快这一进程
所以,我改变了我的脚本的任何连接有一个p:
前缀,这样
$conn = new mysqli("p:".$servername, $username, $password, $dbname);
正如我的理解,这样的mysqli找到与相同参数的现有连接或创建一个,如果它不存在,而不是每次都打开一个新的连接
但尽管如此,几个小时后,我已经检查打开的连接,我已经注意到了一堆类似的连接,只有通过不同的ID
,像这样
ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO |
+---------+------+-----------+----------+---------+------+-------+------+
| 5248403 | user | localhost | database | Sleep | 24 | | NULL |
| 5248609 | user | localhost | database | Sleep | 113 | | NULL |
| 5247822 | user | localhost | database | Sleep | 1 | | NULL |
| 5248652 | user | localhost | database | Sleep | 79 | | NULL |
(带user
和database
掩蔽实际用户和数据库)
有什么是我误解了关于持久连接?我能做些什么,以避免类似的连接?
教科书XY问题
数据库加载需要一些时间,我想,以加快这一进程
我有一种感觉,持续连接将是最后的选择来解决你的问题,如果有的话。
正如我的理解,这样的mysqli找到与相同参数的现有连接或创建一个,如果它不存在,而不是每次都打开一个新的连接
这是从实际远。在PHP持久性连接绑定到一个数量的线程中执行PHP,而且每一个发生在打开一个连接将举行它的线程进一步开放,从而为它要执行的脚本这个已经打开的连接。指的持久连接是持久的,或者换句话说,一个持续开放。
因此,你可以看到图片的预期。
只要不碰上“有太多的连接”的错误就没事了,但我怀疑你是在使用持久连接的可衡量的好处。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句