-1

我正在尝试对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 = 主要 int,内容 = 长文本

Tt 给了我error cannot connect to mysql,即使我增加了最大连接数。

任何解决方案将不胜感激:)

4

2 回答 2

2

“连接量太他妈高了!” 开玩笑!

连接数由计算机上可用的 RAM 数量提供。因此,如果您有千兆位的 RAM,您可以拥有 10k 连接,这取决于您的系统、允许连接的 RAM 等。

在这里检查:MYSQL:连接太多

MySQL 可以支持的最大连接数取决于给定平台上线程库的质量、可用 RAM 量、每个连接使用多少 RAM、每个连接的工作负载以及所需的响应时间。

为什么你同时需要这么多连接?一个连接和 30.000 个插入应该可以,但不能同时进行 30.000 个连接。

希望能帮助到你 :)

于 2012-07-15T15:41:33.790 回答
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(); 
于 2012-07-15T15:42:00.090 回答