我正在使用 JMeter 测试大约 265 个或更多用户的负载测试,但它没有给我结果。我的数据库给出“#1040 - 太多连接”。 仅适用于 100 个用户。 所以请告诉我我可以为测试 1000 个或更多用户做什么。 我的系统配置是 4GB RAM,带有核心双处理器。 我是一名 PHP 开发人员,所以在负载测试和服务器配置方面没有更多的知识。
最佳答案
默认情况下,MySQL 支持 150 + 1 个连接,此行为可通过 max_connections
变量控制。请参阅C5.2.7有关如何增加它的 MySQL 文档。如果您使用默认值,我想您还需要使用其他参数,请阅读有关具有 innodb
前缀的变量。
同样,对于 Apache(如果您将 Apache 与 PHP 结合使用),默认连接数为 256。请参阅 MacClients
、StartServers
、MaxRequestsPerChild
、等指令。
JMEter 位。在您描述的硬件上运行的一个 JMeter 实例将无法提供超过 100-150 个线程,300 个是绝对最大值。您需要考虑 JMeter Remote Testing以创建 5000 多个用户负载。但您需要了解以下内容:
- 避免“重度”听众,如 View Results Tree (这对于调试来说非常好,但在负载过大的情况下肯定会导致崩溃)
- 避免大多数“图表”听众
- 确保您在
user.properties
文件中设置了mode=StrippedBatch
选项。 - 关注其他 JMeter Performance and Tuning提示
关于jmeter - 获取 #1040 - 使用 5000 个 VU 和 JMeter 进行太多连接测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21106557/