首页 > 解决方案 > Jmeter 地址已在使用中,运行 600/秒的用户并发负载测试时出错

问题描述

我正在运行 600/sec 用户的负载测试 2 分钟。在测试结束时,我收到错误响应“地址已在使用中。连接”

我已将 TCP Max 端口用户增加到 200000。我仍然遇到问题。

样本服务器总数为 60782。

为什么我面临这个问题?

我的 jmeter 安装在 windows 服务器实例 ec2 上。

帮我解决它。

标签: performancejmeterloadperformance-testing

解决方案


您不能将最大端口数增加到 200 000,因为端口号由无符号 16 位整数表示,因此您可以使用的最大端口数为 65534。

事实上,数量会更少,因为有些是保留的,有些已被您的操作系统和其他软件使用。

所以我的印象是,您为“增加 TCP 最大端口”而采取的步骤有点错误。

还不清楚它是客户端(JMeter)还是服务器(被测应用程序)问题。

我建议逐渐增加负载查看Active Threads Over TimeTransactions Per SecondResponse Codes Per Second图表。这样,您将知道每秒可以毫无问题地产生的最大用户/请求数是多少。

如果吞吐量或用户数量不足,您将需要找出可能是在被测应用程序端或 JMeter 端的原因。如果您确定在 JMeter 端测试的应用程序一切正常,您可以检查/实施以下几点:

  1. 确保您遵循JMeter 最佳实践
  2. 确保 JMeter 有足够的空间来运行 CPU、RAM、网络、磁盘。您可以为此使用JMeter PerfMon 插件
  3. 如果以上 2 点的组合还不够,并且您无法进行必要的负载 - 您将不得不进行分布式测试并添加另一个 JMeter 服务器,以便它们可以在集群模式下工作。

2 分钟内的 60782 个样本是每秒 500 个请求,因此请考虑检查瓶颈在哪里。


推荐阅读