我试图强调测试mysql:
for($i=0;$i<30000;$i++)
{
mysql_connect("localhost","admin","admin");
mysql_select_db("magic");
mysql_query(INSERT INTO Persons
VALUES (4,'9999999999999999999999999999999999999999999999999999999999999999999999999999999999'));
mysql_close();
}
它只插入25985,而不是更多。 表模式:id = primary int,content = long text
Tt给了我error cannot connect to mysql
,即使我增加了最大连接数。
任何解决方案都将受到赞赏:)
答案 0 :(得分:2)
“连接量太高了!”开玩笑!
连接数由计算机上可用的RAM数量提供。因此,如果您有RAM的gygabites,您可以拥有10k连接,取决于您的系统,允许连接的RAM等。
在此处查看:MYSQL : too many connections
MySQL可以支持的最大连接数取决于给定平台上的线程库质量,可用RAM量,每个连接使用多少RAM,每个连接的工作负载以及所需的响应时间。
为什么你需要同时连接这么多?一个连接和30.000次插入应该可以,但不能同时连接30.000个连接。
希望有所帮助:)
答案 1 :(得分:1)
这可能是因为您在每次循环迭代时打开和关闭连接。在大多数实现中,使用缓存以便不频繁地重新建立连接。
mysql_connect("localhost","admin","admin");
mysql_select_db("magic");
for($i=0;$i<30000;$i++)
{
mysql_query(INSERT INTO Persons
VALUES (4,'9999999999999999999999999999999999999999999999999999999999999999999999999999999999'));
}
mysql_close();