首页 > 解决方案 > Locust - 更改工作人员名称(而不是主机名)?

问题描述

我在 Azure 容器实例 (ACI) 上与一个主服务器和几个工作人员一起运行 Locust。UI 将每个工作人员的主机名显示为它的名称。ACI 自动生成这些主机名 (SandboxHost-637602127034802671) 并且 locust 添加了一些 ID(?!):

在此处输入图像描述

但是,由于目前没有办法影响 ACI 容器的主机名,有没有其他方法可以影响 locust 为工作人员显示的名称,例如通过一些环境变量?

标签: azurelocustazure-container-instances

解决方案


不确定它是否会起作用,但您可以尝试WorkerRunner通过environment.runner.client_id. 但是,到那时可能为时已晚,因为init您用于访问的事件environment在 worker 与 master 建立连接并传递其 id 后被触发,如果 id 更改,master 可能会拒绝 worker 报告。

我通过启动 EC2 实例然后启动我用我的 Locust 文件等构建的 Docker 容器在 AWS 中使用了 Locust。当您这样做时,您可以通过 Docker 的命令--hostname选项更改主机名run,我已成功使用该选项来完成您正在寻找的相同结果。

如果 Azure 容器实例没有与之等效的实例,您唯一的其他选择可能是在 Locust 启动之前找到另一种更改主机名的方法。您可以在此答案中尝试一些建议,以更改作为入口点脚本的一部分或在构建期间运行的脚本中的主机名:

Dockerfile HOSTNAME 用于 docker build 的指令,如 docker run -h


推荐阅读