performance - 处理多个 url 和 headers 的负载测试工具
问题描述
我正在寻找可以处理不同 URL 并为请求设置不同 Auth 标头的 macOS 负载测试工具。我已经查看了jmeter和ab,它们适用于具有单个 auth 标头的单个 url,但我真的很想通过发送来自许多不同用户的请求来模拟更真实的负载,并且让数据库变得更难和缓存层。
SuperBenchmarker似乎可以处理这些情况,但至少在 macOS 上并不能很好地工作(没有尝试过 Windows 版本)
解决方案
如果SuperBenchmarker 满足您的需求,请注意您可以在 Mac 上运行它,只需确保先安装.NET Core
然而,两者ab
都是SuperBenchmarker
“基本”工具,只能“锤击”一个或多个端点,而表现良好的性能测试必须更智能一点。
现代浏览器是庞大而复杂的野兽,它们不仅发送HTTP 请求并呈现响应,它们还执行许多额外的活动,例如:
- 下载嵌入式资源(图像、脚本、样式、字体、声音等)
- 具有本地内存和磁盘缓存,以避免在后续请求中重复请求“重”内容(如图像)
- 使用Cookie建立和维护会话
- 解析 JavaScript 并执行AJAX调用
因此,如果您正在考虑使用 JMeter,请确保遵循如何使 JMeter 表现得更像真正的浏览器文章中的建议,这将使您能够产生更真实的网络足迹,这是您应该做的事情,以获得诸如此类问题的答案“我的应用程序支持多少用户”或“我的应用程序能够提供的每秒最大点击数是多少”
推荐阅读
- java - 如果它具有发生前的保证,那么在构造函数的最后一个语句中让“this”转义是否安全?
- angular - 如何通过 combineLatest 中的 createdDate 对我的声明对象数组进行排序并返回 ClaimSummaryResult 的 Observable?
- css - 使用 CSS 线性渐变创建无缝动画
- c# - 使用 CsvHelper 将子对象迭代到 CSV 文件中 - 没有为类型定义属性“Int32”
- ruby-on-rails - Ruby Geocoder Gem 给出不准确的距离
- ios - iOS13+ 在每个屏幕顶部创建一个常量按钮
- javascript - 在更改 isFocused 时验证停止光标移动
- tensorflow - 关于 TensorFlow 对象检测 api 和不是 jpeg 的图像/格式的问题(例如 dicom 或 numpy 数组)
- javascript - 使用 Google Apps 脚本编辑以前提交的表单时如何从表单条目中收集数据?
- python - 执行脚本时如何设置不同的工作目录?