Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在AJAX调用中使用mysql\u pconnect时还需要记住什么_Php_Mysql_Persistent Connection - Fatal编程技术网

Php 在AJAX调用中使用mysql\u pconnect时还需要记住什么

Php 在AJAX调用中使用mysql\u pconnect时还需要记住什么,php,mysql,persistent-connection,Php,Mysql,Persistent Connection,我构建了一个应用程序(MySQL/PHP),它(及时地)可以使用到远程(可能速度较慢)MySQL服务器的连接。该应用程序使用AJAX耳语,经常打开数据库连接。我做过一些客户端优化,但从来没有足够的勇气使用持久连接,这在这里可能是个好主意 我担心空闲的mysql连接可能会超过服务器限制,从而需要重新启动服务器。所以我计划使用mysql.connection\u timeout到15s,这将杀死超过限制的所有空闲持久连接?或者它会在服务器进程结束之前阻塞系统资源吗 我不会在窃窃私语中使用事务,在连接

我构建了一个应用程序(MySQL/PHP),它(及时地)可以使用到远程(可能速度较慢)MySQL服务器的连接。该应用程序使用AJAX耳语,经常打开数据库连接。我做过一些客户端优化,但从来没有足够的勇气使用持久连接,这在这里可能是个好主意

我担心空闲的mysql连接可能会超过服务器限制,从而需要重新启动服务器。所以我计划使用
mysql.connection\u timeout
到15s,这将杀死超过限制的所有空闲持久连接?或者它会在服务器进程结束之前阻塞系统资源吗

我不会在窃窃私语中使用事务,在连接关闭后应该释放所有锁,对吗


是否还有其他我应该注意的持久连接问题?(我已经读过了。)

使用MySQL的持久连接通常不会带来任何好处。它的连接协议通常已经相当快了。当您使用常规的非持久性连接时,您会失去“干净”操作环境的保证

如果您的脚本在事务的中间或任何一个服务器端变量集中以任何原因死亡,则持久连接意味着当另一个脚本再次拾取连接时,半成品事务仍然处于活动状态。p> 发生这种情况时,您很容易陷入死锁状态。新的脚本不知道它有一个旧的/脏的连接,MySQL也看不到原始的连接脚本已经消失,无法自己进行清理,因此您最终会遇到一个到处都是垃圾的环境

也就是说,您可以使用
mysql.max_persistent
设置限制PHP代表您打开的连接数。无论您试图通过脚本建立多少连接,PHP都不会超过该限制,因此您可以将其设置为低于MySQL自己的
max\u connections
设置