lit*_*leK 21 php mysql connection
我正在使用MySQL 5.0作为由GoDaddy(linux)托管的站点.
我正在对我的网络应用程序进行一些测试,突然间我注意到页面刷新的速度非常慢.最后,经过漫长的等待,我得到了一个页面,上面写着"MySQL错误,连接太多......"的内容,它指向我连接数据库的config.php文件.
它只是我连接到数据库,没有其他用户.在我的每个页面上,我在顶部包含config.php文件,并关闭页面末尾的mysql连接.两者之间可能存在多个查询.我担心我没有足够关闭mysql连接(mysql_close()).
但是,当我在运行查询后尝试关闭它们时,我在页面上收到连接错误.我的页面是PHP和HTML.当我尝试关闭查询时,似乎下一个查询将无法连接.我必须在关闭后再次包含config.php才能连接吗?
这个错误吓到了我,因为在2周内,大约有84人开始使用这个Web应用程序.
谢谢.
编辑:
这是我的页面的一些伪代码:
require_once('../scripts/config.php');
<?php
mysql_query..
if(this button is pressed){
mysql_query...
}
if(this button is pressed){
mysql_query...
}
if(this button is pressed){
mysql_query...
}
?>
some html..
..
..
..
..
<?php
another mysql_query...
?>
some more html..
..
..
<?php mysql_close(); ?>
Run Code Online (Sandbox Code Playgroud)
我想通过这种方式,每次页面打开时,连接都会打开,然后在页面加载完成后关闭连接.然后,当有人单击页面上的按钮时,连接再次打开,依此类推......
编辑:
好的,所以我刚刚和GoDaddy通电话.显然,通过我的经济套餐,我一次只限50个连接.虽然今天我的问题发生在只有我访问该网站时,他们说他们之前遇到了一些服务器问题.然而,看到我将如何为我的网络应用程序拥有84个用户,我应该升级到"Deluxe",它允许一次100个连接.在某一天,可能有大约30个用户一次访问我的网站,所以我认为100将是一个更安全的赌注.你们同意吗?
Pas*_*TIN 33
共享主机提供商通常允许同一用户的少量同时连接.
你的代码做的是:
最后一步,在页面末尾完成时不是强制性的 :(引用mysql_close手册):
通常不需要使用mysql_close(),因为非持久性打开链接会在脚本执行结束时自动关闭.
但请注意,您可能不应该使用持久连接...
两个提示:
mysql_connectinsead mysql_pconnect (已经可以了)如果使用相同的参数对mysql_connect()进行第二次调用,则不会建立新的链接,而是返回已打开的链接的链接标识符.
new_link参数修改了这种行为,并使mysql_connect()始终打开一个新的链接,即使之前使用相同的参数调用了mysql_connect().
什么可能导致问题呢?
也许您正在尝试并行访问多个页面(例如,在浏览器中使用多个选项卡),这将同时模拟几个使用该网站的用户?
如果您有许多用户同时使用该网站,并且mysql_connect连接之间的代码和关闭连接需要花费大量时间,那么将意味着同时打开许多连接...并且您将达到限制: - (
尽管如此,由于您是该应用程序的唯一用户,考虑到您允许多达200个同时连接,有一些奇怪的事情......
那么,考虑" 太多连接 "和" max_connections"......
如果我没记错的话,max_connections不限制你可以打开到MySQL服务器的连接数,但是连接到该服务器的任何人都可以连接到该服务器的连接总数.
引用MySQL关于太多连接的文档:
如果在尝试连接到mysqld服务器时出现Too many connections错误,则表示其他客户端正在使用所有可用连接.
允许的连接数由max_connections系统变量控制.其默认值为100.如果需要支持更多连接,则应为此变量设置更大的值.
所以,实际上,问题可能不是来自你或你的代码(看起来很好,实际上):它可能"只是"你不是唯一一个试图连接到MySQL服务器(记住,"共享主机"),并且有太多人同时使用它......
... 如果我是对的,就是这样,你无法解决问题:只要该服务器上的数据库/用户太多而且max_connection设置为200,你就会继续受苦...
作为旁注:在回到GoDaddy询问他们之前,如果有人可以验证我刚刚说的话会很好^^
| 归档时间: |
|
| 查看次数: |
79175 次 |
| 最近记录: |