'达到最大用户连接数限制' - 如何确保连接已建立?
最近,我开始获取SQL max用户连接限制达到的错误。我联系了我的主机,并被通知我的限制是一次10个并发连接。但是SQL是我网站的核心,所以我不想错误地让代码继续尝试连接,直到查询成功。'达到最大用户连接数限制' - 如何确保连接已建立?
如何在PHP中执行此操作?
编辑:这里是东西,我让AJAX调用来检索数据客户端。每个AJAX调用需要大约400毫秒才能完成,从而打开一个新的MySQL连接。有10个或更多的用户,我遇到了问题。
为什么不尝试使用持久连接呢?
如果您需要需要数据库连接为了使您的页面正常工作,您应该阻止,直到连接建立。最好通过建立10个连接池并在所有页面实例中共享这些连接来实现。
这减少摆在首位连接的成本,因为更少的连接建立和连接拆除通话的好处制成。
你没有说你正在使用哪个数据库引擎,但mysql_pconnect
就是这样的一个PHP调用。
编辑:阅读其他的答案后,这是值得注意的是,你不应该使用每个页面加载多个连接。我假设你已经只使用每页加载一个,但你有超过10个同时进行的PHP实例。
我使用INNODB作为我的存储引擎。我如何去建立一个连接池? – user1137403 2012-01-28 20:11:05
@ user1137403 http://php.net/mysql_pconnect – Borealid 2012-01-28 20:12:35
所以我有6个不同的PHP文件被不同的AJAX调用来获取不同的数据。那么,按照你的建议,我想打开10个持续连接并共享它们?我如何“分享”? – user1137403 2012-01-28 20:14:43
你正在接近这个错误。关闭较旧的连接或使用一个连接来完成所有工作。 – 2012-01-28 20:00:16
你有没有尝试过任何东西? – 2012-01-28 20:00:36
http://stackoverflow.com/questions/39753/connection-pooling-in-php – sherif 2012-01-28 20:01:56