我正在使用大约265或更多用户的JMeter测试负载测试,然后它不会给我结果。我的数据库给出了“#1040 - 连接太多”。 它只适用于100个用户。 所以请告诉我,我可以为测试1000个用户或更多用户做些什么.. 我的系统配置是带有核心决斗处理器的4gb Ram .. 我是一名PHP开发人员,因此在负载测试和服务器配置方面没有更多的知识。
答案 0 :(得分:2)
默认情况下,MySQL支持150 + 1连接,此行为可通过max_connections
变量控制。请参阅MySQL文档的C5.2.7,了解如何增加它。如果您使用默认值,我猜您还需要使用其他参数,请阅读具有innodb
前缀的变量。
对于Apache(如果您使用Apache与PHP),默认连接数为256.请参阅MacClients
,StartServers
,MaxRequestsPerChild
等指令。
JMEter位。在您描述的硬件上运行的JMeter的一个实例将无法提供超过100-150个线程,300个绝对最大值。您需要考虑JMeter Remote Testing才能创建5000+用户加载。但您需要了解以下内容:
mode=StrippedBatch
文件中设置了user.properties
选项。 答案 1 :(得分:1)
您的问题,如果确实存在问题,则取决于您对数据库的使用情况。它与您正在使用的压力工具无关。连接太多可能意味着您必须增加MySQL实例接受的连接数,或者您没有正确关闭连接并泄漏连接,或者仅仅是您的应用程序无法有效处理此类负载。
无论如何,请调查您的应用程序方面,而不是压力工具。