我的共享服务器限制了从 PHP 到 MySQL 的并发连接数。有时当我收到更多流量并且每个人都需要访问数据库时,他们会因此而被拒绝max connection limitation
。我希望这mysqlp_connect
能解决问题,但显然持久连接不会为所有用户而是为每个用户保持一个连接。
无论如何,是否总是在服务器上打开一个 MySQL链接,并且让每个用户只使用该链接而不是为每个用户创建一个新链接?
我的共享服务器限制了从 PHP 到 MySQL 的并发连接数。有时当我收到更多流量并且每个人都需要访问数据库时,他们会因此而被拒绝max connection limitation
。我希望这mysqlp_connect
能解决问题,但显然持久连接不会为所有用户而是为每个用户保持一个连接。
无论如何,是否总是在服务器上打开一个 MySQL链接,并且让每个用户只使用该链接而不是为每个用户创建一个新链接?
我只是从这篇文章中引用一段话,但我建议你阅读这篇文章。
就我而言,我会创建一个连接并在每次操作完成后将其丢弃,因为开销非常小,不会影响我的任何系统。
在您的情况下,您将不得不查看您的代码并判断这将花费多少开销;通常你会对此进行基准测试。
” 这里的答案非常简单——效率。如果创建到 SQL 服务器的链接的开销很高,则持久连接很好。这种开销是否真的很高取决于许多因素。比如,它是什么类型的数据库, 无论它是否位于您的 Web 服务器所在的同一台计算机上, SQL 服务器所在的计算机的负载程度等等.
底线是, 如果连接开销很高, 持久连接对您有很大帮助. 他们导致子进程在其整个生命周期内仅连接一次,而不是每次处理需要连接到 SQL 服务器的页面时。这意味着对于打开持久连接的每个子进程都将拥有自己的打开持久连接到服务器。
例如,如果您有 20 个不同的子进程运行一个与您的 SQL 服务器建立持久连接的脚本,那么您将有 20 个与 SQL 服务器的不同连接,每个子进程一个。"
来源: http: //php.net/manual/en/features.persistent-connections.php
我希望这对你有帮助!