jmeter - 如何在 JMeter 中模拟浏览器负载?
问题描述
我们需要使用 JMeter 工具测试超过 100 个用户的 Web 应用程序。我们应该使用 JMeter webdriver 插件来启动真正的浏览器,还是可以使用 blazemeter 插件来生成脚本并在 JMeter 中运行?用 blazemeter 创建的脚本会模拟真实的浏览器负载吗?
解决方案
从理论上讲,您可以使用真正的浏览器,但请注意,浏览器非常占用资源,因此我的期望是每个浏览器实例至少需要一个CPU 内核和 1 GB 的RAM 才能拥有足够的资源。
这意味着您将不得不进行分布式测试,平均每 5 个浏览器您将拥有一个从属设备。如果这是你能负担得起的 - 去吧。如果不知道,您可以将 JMeter 配置为像真正的浏览器一样运行,即:
- 告诉 JMeter
Retrieve All Embedded Resources from HTML Files
和Use concurrent pool
6 个线程。这可以使用HTTP Request Defaults来完成,设置位于“高级”选项卡下 - 添加HTTP缓存管理器模拟浏览器缓存
- 添加HTTP Cookie 管理器以模仿浏览器 cookie
- 添加HTTP 标头管理器以发送类似浏览器的标头(即User-Agent、Accept-Encoding等)
- 如果您的应用程序使用 AJAX 请求 - 将相关的HTTP 请求采样器放在并行控制器下
推荐阅读
- ssl - 与 neo4j@code-signer 一起使用什么证书
- python - 如果它们具有相同的顺序但从不同的索引开始,如何从 python 列表中删除嵌套列表项
- javascript - 通过使用样式组件单击按钮来切换样式
- postman - 批量响应中未显示内容 ID
- python - 导入 python 模块的问题
- r - 将 gt 表并排或在表格或表格中排列
- android - Android jetpack compose中的按钮长按监听器
- python - airflow subdag xcom_pull 来自父 dag 的任务的数据,一个特定的任务
- javascript - 在 JQuery 上找到了一个很好的代码,但我如何让它无限循环?
- xcode - MacOS 共享扩展:无法使激活类型正常工作