从 K6 模拟每个 VU 的浏览器缓存以进行负载测试

Posted

技术标签:

【中文标题】从 K6 模拟每个 VU 的浏览器缓存以进行负载测试【英文标题】:Emulating browser cache for each VU from K6 for load testing 【发布时间】:2019-07-18 23:35:53 【问题描述】:

我了解 k6 无法根据其文档模拟浏览器缓存(标头中的 cookie 除外)。

是否有人在使用 k6 工具进行负载测试时尝试模拟浏览器缓存(不仅仅是 cookie 标头)?

寻找功能/选项,例如: 1. 开启/关闭浏览器缓存。 2. 在每次迭代开始时清除 cookie。

试图了解如何从每个资源的 k6 脚本处理 Etag、Expires、Last-Modified、Cache-Control、If-None-Match 或 If-Modified-Since 等标头。 不确定,在尝试处理浏览器缓存时是否需要检查更多内容。

如果是,请分享一些关于如何这样做的想法或分享任何正在进行/成功的项目的 github 存储库。 如果成功,一旦验证,可能可以贡献给 k6 repo。

【问题讨论】:

【参考方案1】:

我无法帮助 k6 中的自动缓存处理,因为它还没有这样的功能 (https://github.com/loadimpact/k6/issues/142)。但是关于 cookie,这是默认的 k6 行为——它会在迭代之间重置 cookie。您可以使用 noCookiesReset option 禁用该行为。

【讨论】:

以上是关于从 K6 模拟每个 VU 的浏览器缓存以进行负载测试的主要内容,如果未能解决你的问题,请参考以下文章

k6:增加VU数量的每个阶段如何管理rps-limit

如何在k6工具中模拟/脚本AD集成SSO登录

使用 K6(负载影响)对 API 进行负载测试时的限制

k6 VU(虚拟用户)有多少内存? [关闭]

使用 k6 进行 Meteor 应用程序负载测试,等待 body 元素

使用 K6 - 3000 VU 轰炸 AWS EC2。连接开始超时,现在我无法通过 SSL 或 HTTP 请求连接到实例。这是啥?