使用 docker 进行 REST API 性能(压力)测试

Posted

技术标签:

【中文标题】使用 docker 进行 REST API 性能(压力)测试【英文标题】:RESTAPI Performance (Stress) test using docker 【发布时间】:2019-01-10 13:28:57 【问题描述】:

我想对基于 Perl 的 REST API 进行性能测试。是否有任何 docker 容器可用于执行此操作?

就像我可以输入: 每秒 1000 个请求 POST 请求 URL 和正文 运行 5 分钟。

我在服务器端进行了监控设置。如果客户端(docker 镜像)也提供了一些监视器,那么它是一个加分项。

【问题讨论】:

【参考方案1】:

Docker 本身不提供任何负载测试功能,它是virtualization options 之一,主要用于 DEV/QA/PROD 系统之间的环境完整性。如果您计划使用容器编排解决方案(如k8s)动态添加负载生成器,则可能需要此功能。

理论上,您可以将任何负载测试工具安装到 Docker 容器中。鉴于您的问题标签:

有k6 docker image 有multiple JMeter docker images available at Docker Hub(也可以build your own JMeter docker image)

可以使用 cadvisor 工具进行监控。

【讨论】:

您好德米蒂尔,感谢您的回答。我知道码头工人,但我想避免设置。所以只是想知道是否有任何 docker 可以直接开始使用【参考方案2】:

您可以使用例如来自容器的蝗虫 (https://locust.io)。文档可以在这里找到:https://docs.locust.io/en/latest/running-locust-docker.html

【讨论】:

以上是关于使用 docker 进行 REST API 性能(压力)测试的主要内容,如果未能解决你的问题,请参考以下文章

使用 docker 在 heroku 中部署 Django api rest

docker 远程rest api 访问配置

Mongodb + SpringBoot REST API + Docker Compose 不工作

sqler sql 转rest api 源码解析应用的启动入口

sqler sql 转rest api 的docker 镜像构建(续)使用源码编译

haproxy 2.0 dataplaneapi rest api 试用