Docker 运行 Locust
通过 Docker 运行 Locust
为了简单起见,我们提供了一个可以独立运行,作为主服务器或从服务器运行的 Docker 映像。
环境变量
-
LOCUST_MODE
‘standalone’, ‘master’, 或者 ‘slave’ 之一。默认是 ‘standalone’.
-
LOCUSTFILE_PATH
容器内部到 locust file 的路径。默认为’/locustfile.py`
-
LOCUST_MASTER_HOST
master 的主机名。
-
LOCUST_MASTER_PORT
与 master 通信的端口。默认为 5557
-
LOCUST_OPTS
传递给 locust 的其他选项。默认为空字符串""。
运行测试
使测试运行最简单的方法是使用内置的测试文件构建映像。
一旦编写了 locustfile,就可以使用以下简单的方法将其烘烤到 Docker 映像中 Dockerfile
:
FROM locustio/locust
ADD locustfile.py locustfile.py
您需要将构建的映像推送至 Dockerhub,AWS ECR 或 GCR 等 Docker 存储库,以便分布式基础架构能够提取该映像。
请参阅所选存储库的文档,以了解如何通过存储库进行身份验证以提取映像。
为了在本地调试,您可以运行一个容器并将 locustfile 作为卷传递进来:
docker run -p 8089:8089 --volume $PWD/dir/of/locustfile:/mnt/locust -e LOCUSTFILE_PATH=/mnt/locust/locustfile.py -e TARGET_URL=https://abc.com locustio/locust
要在没有 Web UI 的情况下以独立模式运行,可以使用 LOCUST_OPTS
环境变量添加所需的选项:
docker run --volume $PWD/dir/of/locustfile:/mnt/locust -e LOCUSTFILE_PATH=/mnt/locust/locustfile.py -e TARGET_URL=https://abc.com -e LOCUST_OPTS="--clients=10 --no-web --run-time=600" locustio/locust
如果您是Kubernetes用户,你可以使用 Helm chart 缩放和运行locust.