问题标签 [locust]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1365 浏览

python - 将 locust.io 用户分组到运行自己的任务集的不同部分的正确方法是什么?

假设我在蝗虫群中有 10k 用户。我想让其中 2000 个运行任务集 A 中的任务,其中 2000 个运行任务集 B 中的任务,其中 6000 个运行任务集 C 中的任务,其中每个任务集都有自己的频率。

有没有办法配置这个?我尝试在运行时设置 self.tasks,但它似乎不起作用。

0 投票
1 回答
506 浏览

node.js - 使用 Google Compute Engine 在 nodejs 上进行负载测试瓶颈

我无法弄清楚这个网站出现瓶颈的原因是什么,一旦达到大约 400 个用户,响应时间就会非常糟糕。该站点位于 Google 计算引擎上,使用实例组,具有网络负载平衡。我们用sailjs 创建了这个项目。
我一直在使用 kubernetes 对 Google 容器引擎进行负载测试,运行 locust.py 脚本。

其中一项测试的主要结果是:

最初的响应时间很好,不到一秒,但是当它开始达到大约 400 个用户时,响应时间开始大幅增加。

我已经测试了可能影响响应时间的明显因素,结果如下:

计算引擎实例(2 个标准 n2,200gb 磁盘,内存:每个实例 7.5gb):

MySQL:

MySQL 的所有其他结果似乎也很好,没有理由造成瓶颈。

我为一个新的sailjs创建的项目尝试了相同的测试,它做得更好,但仍然有糟糕的结果,大约2000个用户的5秒恢复时间。

我还应该测试什么?瓶颈可能是什么?

0 投票
1 回答
18387 浏览

python - 在蝗虫中如何从一个任务中获得响应并将其传递给其他任务

我已经开始使用 Locust 进行性能测试。我想向两个不同的端点发出两个发布请求。但是第二个 post 请求需要第一个请求的响应。如何以方便的方式做到这一点。我已经尝试过如下但不工作。

0 投票
2 回答
6095 浏览

python - python-requests多久执行一次dns查询

我们正在使用Locust对弹性负载均衡背后的 REST API 服务进行负载测试。我看到了这篇关于负载平衡和自动缩放的文章,这是我们正在测试的东西。

Locust 正在使用使用urllib3的 python-requests,所以我的问题是 python-requests 是否对每个连接进行 dns 查询,如果没有,它是否可配置?

0 投票
1 回答
1198 浏览

amazon-web-services - Locust:来自 AWS 实例的 Web 界面

我刚开始使用安装在 AWS 实例上的 Locust,它运行良好。但我无法访问网络界面。端口 8089 在 AWS 安全组中打开。

http://ec2-XX-XX-XX-XX.eu-west-1.compute.amazonaws.com:8089对我不起作用。

有什么建议吗?

0 投票
3 回答
10395 浏览

python - 正确的 POST 文件上传(使用 Locust 进行负载测试)

我正在尝试对基于 Django 的网站进行负载测试。

我使用蝗虫 0.7.3 和 python 2.7.10

在这里我进行 POST - 填写表格并附加一些文件:

一切似乎都很好,但是在服务器的上传文件夹中没有文件!

我做错了什么?

0 投票
0 回答
421 浏览

python - 错误参数 HTTPS 蝗虫请求

我正在尝试使用登录网页的用户在蝗虫中导航。我想导航将cookies发送到服务器,过程是这样的:

@task(1) 请求获取 cookie

@task(2) 使用 post 方法登录网页并再次获取 cookie

@task(3) 尝试在用户登录的情况下在我的网页中导航,我调用了这个函数:

我发送了 3 个参数、方法、我的网站的 url 和我的任务 2 的 cookie。

在我的班级蝗虫中,我有这个:

我什么也没得到,蝗虫没有例外,没有得到,没有帖子,什么也没有,如果我删除这条线,它就完美了。

我能做些什么?

0 投票
1 回答
4072 浏览

amazon-web-services - 即使实例运行状况良好,Elastic Beanstalk 也会报告 5xx 错误

我需要设置一个 api 应用程序来收集要在推荐引擎中使用的事件数据。这是我的设置:

  • 具有负载均衡器和自动缩放组的 Elastic Beanstalk 环境。
  • 我有 2x t2.medium 实例在负载均衡器后面运行。
  • EBS 配置为 64 位 Amazon Linux 2016.03 v2.1.1 运行 Tomcat 8 Java 8
  • 此外,我有 8 个 t2.micro 实例用于高负载测试 api,每秒发送数千个请求以由 api 处理。
  • 我使用 Locust ( http://locust.io/ ) 作为我的负载测试工具。
  • Locust 运行的每个 t2.micro 实例最多可以发送约 500req/sec

当请求/秒低于 1000,可能是 1200 时,一切正常。一旦超过,我的负载均衡器报告它背后的一些实例报告 5xx 错误(附加)。我还尝试使用负载均衡器后面的 4 个实例,虽然开始时速度高达 3000req/sec,但不久之后,ebs 运行状况工具和 Locust 都报告 503 和 504,而所有实例都处于完美运行状态根据 ebs Health Overview 中的实际数字,显示 CPU 利用率仅为 10%-20%。

我在配置环境时缺少什么东西吗?似乎无论我在负载均衡器后面有多少台机器,环境每秒处理的请求都不超过 1000-2000 个。

在此处输入图像描述


编辑:现在我确定是 ELB 导致了问题,而不是实例。

我对 10 个模拟用户进行了负载测试。每个用户发送约 1 个请求/秒,负载增加 10 个用户/秒到 4000 个用户,这应该等于大约 4000 个请求/秒。它似乎仍然不喜欢任何超过 3.5k 请求/秒(附件1 )的请求率。

正如您从附件2 中看到的,负载均衡器后面的 4 个实例运行状况良好,但我仍然不断收到 503 错误。这只是负载平衡器本身造成的问题。看看 SurgeQueueLength 和 SpilloverCount 如何在某个时候迅速增加。(附件3)我试图找出原因。

此外,我完全移除了负载均衡器,仅使用一个实例进行了测试。它最多可以处理大约 3k req/sec。(attachment4attachment5),所以它绝对是负载均衡器。

也许我错过了负载均衡器默认具有的一些关键限制,例如 1024 的队列大小?1 个负载均衡器的正常处理速率是多少?我应该添加更多负载均衡器吗?它可能与可用区有关吗?来自一个区域的 ELB 侦听器正在尝试路由到来自不同区域的实例?

附件1: 在此处输入图像描述

附件2: 在此处输入图像描述

附件3: 在此处输入图像描述

附件4: 在此处输入图像描述

附件5: 在此处输入图像描述


更新:启用跨区域负载平衡


更新:也许这有助于更多: 在此处输入图像描述

0 投票
2 回答
2727 浏览

python-2.7 - Python - 使用 locust 记录请求摘要统计信息

我用蝗虫

http://docs.locust.io/en/latest/index.html

模拟一群网络用户进行随机站点访问和文件下载。通过指定设置日志记录选项

但这仅在代码中记录内部事件和打印语句的子集,它不会记录在控制台(如果您使用该--no-web选项)或 UI(如果您未指定该--no-web选项)上打印出的请求统计信息.

如何在日志文件中捕获请求统计信息?

0 投票
1 回答
262 浏览

python - 从两个不同的 Linux 发行版运行 python locust 脚本时出错

我写了一个蝗虫脚本来测试一个网站。脚本很简单,只是一个请求重复了几次。

在具有 Linux Mint 和 Python 2.7.6 的虚拟机中,该脚本以正确的方式和我想要的方式工作。

例如,我在没有 Web 界面的情况下运行脚本,如下所示:

我在终端窗口中获​​得了正确的统计数据。

当我在另一个使用 CentOS 和 Python 2.7.11 的虚拟机上运行相同的脚本时,我收到以下错误:

你能帮我理解这个问题吗?非常感谢。