performance - Jmeter 地址已在使用中,运行 600/秒的用户并发负载测试时出错
问题描述
我正在运行 600/sec 用户的负载测试 2 分钟。在测试结束时,我收到错误响应“地址已在使用中。连接”
我已将 TCP Max 端口用户增加到 200000。我仍然遇到问题。
样本服务器总数为 60782。
为什么我面临这个问题?
我的 jmeter 安装在 windows 服务器实例 ec2 上。
帮我解决它。
解决方案
您不能将最大端口数增加到 200 000,因为端口号由无符号 16 位整数表示,因此您可以使用的最大端口数为 65534。
事实上,数量会更少,因为有些是保留的,有些已被您的操作系统和其他软件使用。
所以我的印象是,您为“增加 TCP 最大端口”而采取的步骤有点错误。
还不清楚它是客户端(JMeter)还是服务器(被测应用程序)问题。
我建议逐渐增加负载并查看Active Threads Over Time、Transactions Per Second和Response Codes Per Second图表。这样,您将知道每秒可以毫无问题地产生的最大用户/请求数是多少。
如果吞吐量或用户数量不足,您将需要找出可能是在被测应用程序端或 JMeter 端的原因。如果您确定在 JMeter 端测试的应用程序一切正常,您可以检查/实施以下几点:
- 确保您遵循JMeter 最佳实践
- 确保 JMeter 有足够的空间来运行 CPU、RAM、网络、磁盘。您可以为此使用JMeter PerfMon 插件。
- 如果以上 2 点的组合还不够,并且您无法进行必要的负载 - 您将不得不进行分布式测试并添加另一个 JMeter 服务器,以便它们可以在集群模式下工作。
2 分钟内的 60782 个样本是每秒 500 个请求,因此请考虑检查瓶颈在哪里。
推荐阅读
- vlc - 使用网络摄像头/hdmi-usb 加密狗时,帧率低(视频断断续续)、无声音、“图像中未找到 JPEG 数据”
- ios - 未安装私钥 Apple Distribution
- javascript - 在 AJAX 调用中从 (data) 中提取数组数据
- drupal - 是否有显示为 Drupal 核心发布的最新安全补丁的 RSS 提要
- iis - IIS 重写规则来编辑传出内容以代理 HTTP 图像文件?
- mongodb - 如何在mongodb的过滤器中使用自己的元素过滤文档
- vb.net - 如何在变量声明中使用 Type 类作为类型
- elixir - 是否应该将 :name 和/或 :app 添加到伞形应用程序的根 mix.exs 文件中的项目定义中?
- autohotkey - 仅当鼠标位于屏幕的某个坐标而不干扰我的键盘时,如何才能激活脚本?
- paypal - Paypal 智能按钮订阅状态